配置

集群中的ZooKeeper服务器都有一个数值ID,范围在1~255之间。这个ID存在dataDir目录下的myid文件中。

每一个server必须知道其他的ZooKeeper server在网络中的位置,所以我们需要将所有的server都配置在文件中:

  1. server.n=hostname:port:port

下面是一个配置例子:

  1. tickTime=2000
  2. dataDir=/disk1/zookeeper
  3. dataLogDir=/disk2/zookeeper
  4. clientPort=2181
  5. initLimit=5
  6. syncLimit=2
  7. server.1=zookeeper1:2888:3888
  8. server.2=zookeeper2:2888:3888
  9. server.3=zookeeper3:2888:3888

replicated模式下有两个额外参数:

initLimit:follower连接和同步leader的时长。如果大多数follower这个时长内同步失败,将重新选举一个leader代替之前的leader。如果经常发生这种情况,说明这个值设置的太低。

syncLimit:folloer同步leader的时长。如果follower在这个时长内同步失败,follower将自动重启。连接他的client将连接到其他的follower上。