前提
- 三台 linux(或虚拟机)的 ssh 免密登录(本人使用 root 用户)
配置
zoo.cfg
- 三台 linux 都需要配置,zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
# 存储快照文件 snapshot 的目录,或需自己创建
dataDir=/usr/local/zookeeper/zkdatas
# 客户端连接 zookeeper 集群的端口
clientPort=2181
# 保留的快照 snapshot 文件数目
autopurge.snapRetainCount=3
# 定时清理快照 snapshot(1 小时)
autopurge.purgeInterval=1
#节点id 节点名 端口
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
myid
- 去每台 linux 的 zookeeper/zkdatas 目录(上面配置文件中的 dataDir)下,新建 myid 文件,并输入不同的数字,数字大表示被选举为 leader 的概率高
- zookeeper/zkdatas/myid
1
2
3
启动
- 在三台 linux 上,分别执行 zookeeper/bin/zkServer.sh start 命令
- jps 命令查看是否有 QuorumPeerMain 进程,有则成功
客户端连接
- 在任意一台 linux,用 zookeeper/bin/zkCli.sh -server node1:2181 连接到 集群中的 node1