zookeeper中的命令是什么命令让一个动物园管理员领导者自愿成为集群中的追随者?

时间:2014-05-19 06:32:17

标签: python apache apache-zookeeper

我有四个关于动物园饲养员的问题。请就此提出意见。

  1. 在zookeeper中命令自愿成为一名领导者的命令是什么? 群集内的追随者,反过来会成为另一个追随者 集群中的机器接管领导者?

  2. zookeeper选择在群集内组建领导者的程序是什么?

  3. 在zookeeper中检查集群状态的命令是什么,反过来我可以说,在zookeeper中是否有任何命令表明动物园管理员的集群状态是健康的,并且集群也成功建立了zookeeper? / p>

1 个答案:

答案 0 :(得分:1)

问题1)动物园管理员领导者下台 - 这是一个很好的问题,除了关闭领导者然后将其恢复原状我还不确定是否有任何命令这样做。

问题2)领导人选举:在此讨论:

  

领导者激活领导者激活包括领导者选举。我们   目前在ZooKeeper中有两个领导者选举算法:   LeaderElection和FastLeaderElection(AuthFastLeaderElection是一个   FastLeaderElection的变体,它使用UDP并允许服务器   执行一种简单的身份验证形式以避免IP欺骗)。   ZooKeeper消息传递并不关心选择a的确切方法   领导者长期坚持:

     

领导者已经看到了所有粉丝中最高的zxid。法定人数   服务器已承诺跟随领导者。这两个   要求只有第一个,最高的zxid是追随者   需要保持正确的操作。第二个要求,法定人数   追随者,只需要高概率地持有。我们要去了   重新检查第二个要求,如果在或期间发生故障   领导人选举和法定人数丢失后,我们将恢复   放弃领导者激活并进行另一次选举。

     

领导者选举后,单个服务器将被指定为领导者   并开始等待粉丝连接。其余的服务器   将尝试连接到领导者。领导者将同步   追随者通过发送他们遗失的任何提议,或者如果是追随者   缺少太多的提案,它会发送一个完整的快照   向追随者说明。

http://zookeeper.apache.org/doc/r3.3.2/zookeeperInternals.html#sc_leaderElection

问题3)检查群集状态 - 您可以尝试在客户端端口发出4个字母命令之一,如下所示:

echo ruok | nc 127.0.0.1 5111

如果一切顺利的话会响应。

此处的完整命令列表:https://zookeeper.apache.org/doc/r3.4.8/zookeeperAdmin.html#sc_zkCommands

或运行JMX:http://zookeeper.apache.org/doc/r3.3.1/zookeeperJMX.html