下载地址
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
分布式部署
1.上传到目标主机,通常我们使用3台主机进行部署
2.分别解压缩
tar -zxvf zookeeper-3.4.10.tar.gz
3.分别在conf目录下创建zoo.cfg文件,内容如下
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/tmp/zookeeper/data
dataLogDir=/tmp/zookeeper/logs
clientPort=2181
server.1=136.24.13.55:2881:3881
server.2=136.24.13.56:2881:3881
server.3=136.24.13.57:2881:3881
4.在data目录下(dataDir=/tmp/zookeeper/data)创建myid文件
myid文件中内容分别为1,2,3(这个数值是和server.1,server.2,server.3保持一致)
5.启动
分别在每个主机下执行 bin/zkServer.sh start
启动之后可以通过jps查看状态,或者bin/zkServer.sh status 查看
备注:
1.配置文件含义
initLimit: zookeeper集群中的包含多台server, 其中一台为leader, 集群中其余的server为follower. initLimit参数配置初始化连接时,
follower和leader之间的最长心跳时间. 此时该参数设置为5, 说明时间限制为5倍tickTime, 即5*2000=10000ms=10s.
syncLimit: 该参数配置leader和follower之间发送消息, 请求和应答的最大时间长度. 此时该参数设置为2, 说明时间限制为2倍tickTime, 即4000ms.
server.X=A:B:C 其中X是一个数字, 表示这是第几号server. A是该server所在的IP地址. B配置该server和集群中的leader交换消息所使用的端口. C配置选举leader时所使用的端口. 由于配置的是伪集群模式, 所以各个server的B, C参数必须不同.
2.对外使用的端口为clientPort=2181,例如kafka通过zookeeper查询消息,则是通过这个端口