kafka集群搭建

准备条件:提前安装好zookeeper集群,本配置为三台机器(hadoop1、hadoop2、hadoop3),所有操作先在一台机器上操作。

上传并解压

[root@hadoop1 usr]# mkdir kafka
[root@hadoop1 kafka]# tar -zxvf kafka/kafka_2.12-1.1.0.tar

修改配置文件(只修改"server.properties"文件 )

[root@hadoop1 kafka]# cd /usr/kafka/kafka_2.12-1.1.0/config
#broker的全局唯一编号,不能重复,只能是数字
broker.id=1
#用来监听链接的端口,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=/home/data/logs/kafka
#topic在当前broker上的分片个数
num.partitions=2
#用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment文件保留的最长时间,超时将被删除
log.retention.hours=168
#滚动生成新的segment文件的最大时间
log.roll.hours=168
#日志文件中每个segment的大小,默认为1G
log.segment.bytes=1073741824
#周期性检查文件大小的时间
log.retention.check.interval.ms=300000
#日志清理是否打开
log.cleaner.enable=true
#broker需要使用zookeeper保存meta数据
zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181
#zookeeper链接超时时间
zookeeper.connection.timeout.ms=6000
#partion buffer中,消息的条数达到阈值,将触发flush到磁盘
log.flush.interval.messages=10000
#消息buffer的时间,达到阈值,将触发flush到磁盘
log.flush.interval.ms=3000 
#删除topic需要server.properties中设置delete.topic.enable=true否则只是标记删除
#自己添加
delete.topic.enable=true
#此处的host.name为本机IP(重要),如果不改,则客户端会抛出:Producerconnection to localhost:9092 unsuccessful 错误!
#自己添加
host.name=hadoop1

分发到其他机器

[root@hadoop1 kafka]# scp  -r  /usr/kafka/ root@hadoop2:/usr/
[root@hadoop1 kafka]# scp  -r  /usr/kafka/ root@hadoop3:/usr/

更改其他机器中的broker.id和host.name

启动

先启动zookeeper集群
再启动kafka集群(所有机器都操作)

[root@hadoop1 kafka_2.12-1.1.0]# ./bin/kafka-server-start.sh -daemon config/server.properties &

注:“config/server.properties"修改后的配置文件;”&“或”-daemon"在后台运行,不占用当前窗口

你可能感兴趣的:(大数据)