之前文章介绍了单结点Kafka的搭建与启动,由于在生产环境Kafka肯定是要搭建集群的,所以这篇文章准备介绍和记录一下自己如何搭建一个Kafka集群的。
搭建准备:
1.两台服务器,IP:154.8.214.111、121.4.148.243
2.JKD:jdk1.8.0_271
3.Kafka:kafka_2.11-2.1.1
4.Zookeeper:zookeeper-3.4.12
因为zookeeper的容错机制,剩下可用节点数必须要大于n/2,zookeeper才可以正常使用,所以节点数最好是奇数,本篇文章介绍使用三个节点的集群搭建,其中一个在154.8.214.111,剩下两个节点在121.4.148.243。
1.Zookeeper配置
首先我们先配置一下zookeeper的配置文件zoo.cfg
154.8.214.111的zookeeper
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper/data
dataLogDir=/tmp/zookeeper/log
clientPort=2181
quorumListenOnAllIPs=true
server.0=154.8.214.111:2888:3888
server.1=121.4.148.243:2888:3888
server.2=121.4.148.243:2889:3889
#server.0 这个0是服务器的标识也可以是其他的数字, 表示这个是第几号服务器,用来标识服务器,这个标识要写到快照目录下面myid文件里
#154.8.214.111为集群里的IP地址,第一个端口是master和slave之间的通信端口,默认是2888,第二个端口是leader选举的端口,集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888
#quorumListenOnAllIPs=true 添加这个参数就可以正常的使用外网IP进行部署了,否则可能会出现互相无法通信的情况。
同样121.4.148.243的两个节点配置
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper/data
dataLogDir=/tmp/zookeeper/log
clientPort=2181
quorumListenOnAllIPs=true
server.0=154.8.214.111:2888:3888
server.1=121.4.148.243:2888:3888
server.2=121.4.148.243:2889:3889
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookee