ZooKeeper 不存在明显的 master/slave
关系, 如果 leader 出现故障, 剩下的 follower 会从他们之中选出一个新的 leader. 各个 zk 服务器没有主从关系, 需要单独启动, 它们之间通过TCP端口来交换数据。
Zookeeper 安装
解压压缩文件到 ~/workspace 下
修改环境变量
|
|
配置生效:
修改 ZooKeeper 配置
配置文件在 ~/workspace/zookeeper-3.4.6/
zoo.cfg
配置12345678910111213141516tickTime=2000# The number of ticks that the initial# synchronization phase can takeinitLimit=10# The number of ticks that can pass between# sending a request and getting an acknowledgementsyncLimit=5# the directory where the snapshot is stored.# do not use /tmp for storage, /tmp here is just# example sakes.dataDir=/home/data/zookeeper# the port at which the clients will connectclientPort=2181server.1=h16:2888:3888server.2=h17:2888:3888server.3=h18:2888:3888
配置说明:
集群配置中, 在 dataDir 中必须建一个 myid
文件, 里面存放一个唯一数字(1-255), 作为服务器的标示:
Zookeeper 启动
在所有服务器上启动 zookeeper:
验证启动情况:
Java客户端连接Zookeeper集群
解压zookeeper压缩包, 直接使用java客户端连接 ZooKeeper 集群中的机器: