文章目录
1、kafka.apache.org网址中下载所需的kafka包
上传并解压
[root@hadoop01 software]# tar -xzvf kafka_2.11-2.0.0.tgz -C /export/servers/
2、修改配置文件server.properties
这里把默认的备份,再重写一份。
[root@hadoop01 config]# vim server.properties
broker.id在主节点中等于0,各节点中分别是1、2
#broker的全局唯一编号,不能重复
broker.id=0
#用来监听链接的端口.producer或consumer将在此端口建立连接
port=9092
#处理网络请求的线程数量
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=/export/data/kafka
#topic在当前broker上的分片个数
num.partitions=2
#用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment文件保留的最长时间,超时将被删除
log.retention.hours=1
#滚动生成新的segment文件的最大时间
log.roll.hours=1
#日志文件中每个segment的大小,默认1G
log.segment.bytes=1073741824
#周期性检查文件大小的时间
log.retention.check.interval.ms=300000
#日志清理是否打开
log.cleaner.enable=true
#broker需要使用zookeeper保存meta数据
zookeeper.connect=hadoop01:2181,hadoop02:2181,hadoop03:2181
#zookeeper链接超时时间
zookeeper.connection.timeout.ms=6000
#partitionbuffer中,消息的条数达到阈值,将触发flush到磁盘
log.flush.interval.messages=10000
#消息缓冲的时间,达到阈值时,将触发flush到磁盘的操作
log.flush.interval.ms=3000
#删除topic需要server.properties中设置delete.topic.enable=true否则只是标记删除
delete.topic.enable=true
#此处的host.name为本机IP(重要),如果不改,则客户端会抛出:Producer connection to localhost:9092 unsuccessful 错误!
host.name=hadoop01
#本机ip
#advertised.host.name=192.168.44.134
#对外监听本机的9092端口
#listeners=PLAINTEXT://192.168.44.134:9092
3、修改环境变量
[root@hadoop01 config]# vim /etc/profile
添加:
export KAFKA_HOME=/export/server/kafka_2.11-2.0.0
export PATH=$PATH:$KAFKA_HOME/bin
4、分发到各节点
[root@hadoop01 ~]# scp -r /export/servers/kafka_2.11-2.0.0/ hadoop02:/export/servers/
[root@hadoop01 ~]# scp -r /export/servers/kafka_2.11-2.0.0/ hadoop03:/export/servers/
[root@hadoop01 ~]# scp -r /etc/profile hadoop02:/etc/profile
[root@hadoop01 ~]# scp -r /etc/profile hadoop03:/etc/profile
使环境变量生效
source /etc/profile
5、开启zookeeper集群
这里使用脚本启动,也可以逐个节点启动。
6、开启kafka集群