kafka 集群部署 多机多broker模式
环境IP :
172.16.1.35 zookeeper kafka
172.16.1.36 zookeeper kafka
172.16.1.37 zookeeper kafka
开放端口 2181 2888 3888 9092
编辑 server.properties 文件 (以下为 172.16.1.35 的配置)
#在默认的配置上,我只修改了4个地方。broker.id = 三个主机172.16.1.35,172.16.1.36,172.16.1.37分别对应id为1,2,3
broker.id=1
advertised.host.name=172.16.1.35 配置为连接IP 否则会获取本地网卡IP
log.dirs=/opt/local/kafka/logs
zookeeper.connect=172.16.1.35:2181,172.16.1.36:2181,172.16.1.37:2181
---------------------------------------------------------------------
非物理网卡,绑定IP 需要配置为 127.0.0.1 , 否则获取到的IP为 其他绑定IP
如:zookeeper.connect=127.0.0.1:2181,172.16.1.36:2181,172.16.1.37:2181
编辑 zookeeper.properties 文件
initLimit=5
syncLimit=2
server.1=0.0.0.0:2888:3888
server.2=172.16.1.36:2888:3888
server.3=172.16.1.37:2888:3888
dataDir=/tmp/zookeeper
---------------------------------------------------------------------
非物理网卡,绑定IP 需要配置为 0.0.0.0 , 否则获取到的IP为 其他绑定IP
如果
broker.id=1
-------------------------------------
server.1=0.0.0.0:2888:3888
server.2=172.16.1.36:2888:3888
server.3=172.16.1.37:2888:3888
-------------------------------------
broker.id=2
-------------------------------------
server.1=172.16.1.35:2888:3888
server.2=0.0.0.0:2888:3888
server.3=172.16.1.37:2888:3888
-------------------------------------
# initLimit:LF初始通信时限
集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。
# syncLimit:LF同步通信时限
集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。
# server.N=YYY:A:B
服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)
#分别将1,2,3写入三个主机的myid文件
echo "1" >> /opt/local/kafka/logs/zookeeper/myid
# 分别启动三个服务器中的 zookeeper 和 kafka server
/opt/local/kafka/bin/zookeeper-server-start.sh -daemon /opt/local/kafka/config/zookeeper.properties
/opt/local/kafka/bin/kafka-server-start.sh -daemon /opt/local/kafka/config/server.properties
原文地址:http://jicki.blog.51cto.com/1323993/1651206