前提
hadoop集群已开启
zookeeper集群已开启
zookeeper集群配置可参考此链接
https://blog.csdn.net/weixin_43671437/article/details/102736020
kafka安装
安装下载 kafka_2.11-0.11.0.0
直接解压即可
下载地址
http://kafka.apache.org/downloads.html
kafka部署
1、集群规划
master | slave1 | slave2 |
---|---|---|
zookeeper | zookeeper | zookeeper |
kafka | kafka | kafka |
2、部署
(1) 配置环境变量
[root@master kafka]# vim /etc/profile
##KAFKA_HOME
export KAFKA_HOME=/usr/local/src/kafka
export PATH=$PATH:$KAFKA_HOME/bin
(2)在kafka目录下创建 logs文件夹
[root@master kafka]# mkdir logs
(3) 在 kafka/conf 下修改配置文件 server.properties
[root@master config]# vim server.properties
修改如下内容
主要修改四项(其他内容根据自己需求修改)
1、broker 的全局唯一编号设为0
2、删除 topic 功能 设为true
3、kafka 运行日志存放的路径
4、配置连接 Zookeeper 集群地址
#broker 的全局唯一编号,不能重复
broker.id=0
#删除 topic 功能使能
delete.topic.enable=true
#处理网络请求的线程数量
num.network.threads=3
#用来处理磁盘 IO 的现成数量
num.io.threads=8
#发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
#kafka 运行日志存放的路径
log.dirs=/opt/module/kafka/logs
#topic 在当前 broker 上的分区个数
num.partitions=1
#用来恢复和清理 data 下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment 文件保留的最长时间,超时将被删除
log.retention.hours=168
#配置连接 Zookeeper 集群地址
zookeeper.connect=master:2181,slave1:2181,slave2:2181
(4)将配置好的kafka发送到其他节点
[root@master src]# scp -r kafka root@slave1:/usr/local/src
[root@master src]# scp -r kafka root@slave2:/usr/local/src
(5)修改其他节点的配置文件
将slave1 的设为 broker.id=1
将slave2 的设为 broker.id=2
broker.id不可重复
kafka集群启动
1、分别在master,slave1,slave2节点上启动
[root@master kafka]# bin/kafka-server-start.sh -daemon config/server.properties
[root@master kafka]# bin/kafka-server-start.sh -daemon config/server.properties
[root@master kafka]# bin/kafka-server-start.sh -daemon config/server.properties
2、jps - l 查看是否有kafka进程
若有则已开启