1、搭建前准备
- 老规矩,新建hadoop01、hadoop02、hadoop03虚拟机,并且配置好对应的免密登录(http://blog.kdyzm.cn/post/19)以及hosts
- kafka集群搭建依赖于zookeeper集群,zookeeper集群搭建参考:http://blog.kdyzm.cn/post/127
除此之外,windows下也需要配置hosts
192.168.3.21 hadoop01
192.168.3.22 hadoop02
192.168.3.23 hadoop03
如果不配置,最后在widows下使用工具测试集群状态会连接不上集群
2、下载kafka_2.13-3.2.3
官方下载地址:https://kafka.apache.org/downloads
推荐下载:https://downloads.apache.org/kafka/3.2.3/kafka_2.13-3.2.3.tgz
下载完成后上传到hadoop01机器下的/usr/local文件夹,使用
tar -zxvf /usr/local/kafka_2.13-3.2.3.tgz -C /usr/local/
命令解压,然后创建软链接
ln -s /usr/local/kafka_2.13-3.2.3 kafka
3、创建日志文件目录
mkdir /usr/local/kafka/logs
为之后的配置文件使用。
然后找到zookeeper的数据存储目录,也用以之后的配置文件修改使用;我的目录是:/usr/local/zookeeper/conf/zkData
,这里推荐在/usr/local/kafka文件夹内新建zkData目录。
4、修改配置文件
4.1 server.properties
[root@hadoop01 config]# vim /usr/local/kafka/config/server.properties
#修改以下配置
broker.id=1
log.dirs=/usr/local/kafka/logs
num.partitions=3
zookeeper.connect=hadoop01:2181,hadoop02:2181,hadoop03:2181
4.2 zookeeper.properties
[root@hadoop01 config]# vim /usr/local/kafka/config/zookeeper.properties
dataDir=/usr/local/zookeeper/conf/zkData
4.3 producer.properties
[root@hadoop01 config]# vim /usr/local/kafka/config/producer.properties
bootstrap.servers=hadoop01:2181,hadoop02:2181,hadoop03:2181
4.4 consumer.properties
[root@hadoop01 config]# vim /usr/local/kafka/config/consumer.properties
bootstrap.servers=hadoop01:2181,hadoop02:2181,hadoop03:2181
5、配置环境变量
vim /etc/profile
export KAFKA_HOME=/root/software/kafka
export PATH=$PATH:$KAFKA_HOME/bin
并将环境变量分发到其它两台虚拟机。
6、程序分发
scp -r /usr/local/kafka_2.13-3.2.3 hadoop02:/usr/local/
scp -r /usr/local/kafka_2.13-3.2.3 hadoop03:/usr/local/
并在两台机器上新建软链接
ln -s /usr/local/kafka_2.13-3.2.3 kafka
7、修改server编号
分别进入hadoop02和hadoop03,修改server.properties配置文件中的server编号为2和3
[root@hadoop02 config]# vim /usr/local/kafka/config/server.properties
broker.id=2
[root@hadoop03 config]# vim /usr/local/kafka/config/server.properties
broker.id=3
8、启动Kafka集群
在每台机器上执行命令:
/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
9、服务验证
每台机器上执行命令jps,可以看到有kafka进程了
[root@hadoop01 config]# jps
1954 DataNode
3234 HRegionServer
4194 Kafka
2405 ResourceManager
2550 NodeManager
5847 Jps
1529 QuorumPeerMain
1804 NameNode
3084 HMaster
[root@hadoop02 config]# jps
1664 DataNode
2929 Kafka
1875 NodeManager
2165 HMaster
2040 HRegionServer
1753 SecondaryNameNode
4346 Jps
1516 QuorumPeerMain
[root@hadoop03 config]# jps
1778 NodeManager
3574 Jps
1655 DataNode
1943 HRegionServer
1513 QuorumPeerMain
2602 Kafka
这表示服务已经正常启动,接下来进行功能验证
10、集群测试
为了方便测试,可以使用kafkatoll管理工具进行测试
官网地址:https://www.kafkatool.com/download.html
下载地址:https://www.kafkatool.com/download2/offsetexplorer_64bit.exe
安装好之后添加集群:
完成之后可以看到左侧集群中出现了一个名为localhost的菜单
点击topic,新增topic
成功创建了Topic,则表示集群已经创建成功了
可以看到三个prtition分布在三台机器上
service脚本
vim /etc/init.d/kafka
#!/bin/bash
#chkconfig:2345 20 90
#description:kafka
#processname:kafka
export JAVA_HOME=//usr/local/jdk
case $1 in
start) /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties ;;
stop) /usr/local/kafka/bin/kafka-server-stop.sh ;;
*) echo "require start|stop" ;;
esac
注意:本文归作者所有,未经作者允许,不得转载