最近忽然要把大数据跟我们对接的项目接回来我们自己维护,不得不自己搭建一个大数据的集群环境,用来运行该项目。因此记录一下集群环境的搭建,免得以后需要再搭建。
一、架构说明
本次基于kafka_2.12-2.1.1版本进行分布式配置。在此设置一个主节点和两个从节点。
准备3台虚拟机,分别为:
主机名 | IP地址 |
master | 192.168.0.41 |
slave1 | 192.168.0.42 |
slave2 | 192.168.0.75 |
本章节是记录Kafka的搭建,后续会记录Hbase、Zookeeper、Scala、Spark、Hadoop、Hive等的搭建,都是基于该环境的,一主两从模式的。
已经在/home下创建了hadoop文件夹,用来存放各种安装的软件。
下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/,这是我找的一个镜像服务器地址
二、搭建步骤
1、上传kafka_2.12-2.1.1.tgz到/home/hadoop下,然后解压tar -zxvf kafka_2.12-2.1.1.tgz
2、配置kafka参数,进入/home/hadoop/kafka_2.12-2.1.1/目录,vim config/server.properties
broker.id=0
zookeeper.connect=192.168.0.41:2181,192.168.0.42:2181,192.168.0.75:2181
3、将slf4j-nop-1.7.6.jar放置到kafka的libs里面,可以通过http://www.slf4j.org/dist/slf4j-1.7.6.zip下载,然后解压找到slf4j-nop-1.7.6.jar,然后放到libs里面
4、将kafka_2.12-2.1.1拷贝到slave1、slave2中
scp -r /home/hadoop/kafka_2.12-2.1.1 root@192.168.0.75:/home/hadoop
scp -r /home/hadoop/kafka_2.12-2.1.1 root@192.168.0.42:/home/hadoop
注意:拷贝后在slave1的kafka_2.12-2.1.1/config/server.properties的文件中broker.id要改成1,在slave2的kafka_2.12-2.1.1/config/server.properties的文件中broker.id要改成2
同时将/etc/profile拷贝到slave1、slave2上,或者将配置内容拷贝过去,然后记得source /etc/profile
5、启动kafka
进入kafka_2.12-2.1.1目录下,三台机器都运行nohup ./bin/kafka-server-start.sh config/server.properties &
三、Kafka集群测试(可参考https://www.cnblogs.com/xiaodf/p/6093261.html)
正好有三台机器,master充当生产者,slave1、slave2充当消费者
创建topic命令:
./bin/kafka-topics.sh --zookeeper 192.168.0.41:2181,192.168.0.42:2181,192.168.0.75:2181 --create --replication-factor 1 --partitions 1 --topic test
启动生产者:
./bin/kafka-console-producer.sh --broker-list 192.168.0.41:9092,192.168.0.42:9092,192.168.0.75:9092 --topic test
启动消费者:
./bin/kafka-console-consumer.sh --bootstrap-server 192.168.0.41:9092,192.168.0.42:9092,192.168.0.75:9092 --topic test --from-beginning