配置
集群中的ZooKeeper服务器都有一个数值ID,范围在1~255之间。这个ID存在dataDir
目录下的myid
文件中。
每一个server必须知道其他的ZooKeeper server在网络中的位置,所以我们需要将所有的server都配置在文件中:
server.n=hostname:port:port
下面是一个配置例子:
tickTime=2000
dataDir=/disk1/zookeeper
dataLogDir=/disk2/zookeeper
clientPort=2181
initLimit=5
syncLimit=2
server.1=zookeeper1:2888:3888
server.2=zookeeper2:2888:3888
server.3=zookeeper3:2888:3888
replicated模式下有两个额外参数:
initLimit:follower连接和同步leader的时长。如果大多数follower这个时长内同步失败,将重新选举一个leader代替之前的leader。如果经常发生这种情况,说明这个值设置的太低。
syncLimit:folloer同步leader的时长。如果follower在这个时长内同步失败,follower将自动重启。连接他的client将连接到其他的follower上。