zookeeper中的QuorumPeerMain解析
在一个初级的hadoop与zookeeper集群中,当集群搭建成功后,你jps查看进程的时候,其他的进程都是比较熟悉的,比如:
但是对于zookeeper配置搭建成功后的一个jps你可能会陌生,如下图:
其实这是QuorumPeerMain是zookeeper集群的启动入口类,是用来加载配置启动QuorumPeer线程的。
QuorumPeer, 谷歌翻译quorum是法定人数,定额的意思, peer是对等的意思,那么QuorumPeer中quorum代表的意思就是每个zookeeper集群启动的时候集群中zookeeper服务数量就已经确定了,zookeeper是基于paxos算法实现的,那是一个唯一的分布式集群一致性算法,在zookeeper中将这一算法演绎为集群分布式协调可持续服务。在每个zookeeper的配置文件中配置集群中的所有机器
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2888:3888
server.3=127.0.0.1:2888:3888
配置中每个server.X记录代表集群中的一个服务,QuorumPeerConfig会构建一个QuorumServer对象,其中的server.X中的X代表zookpeer的sid,每个zookeeper都会编辑自己的sid在dataDir目下的myid文件中,sid标记每个服务,在快速选举中起作用。
所以对这个进程不应该陌生,如果你要关闭,就直接zkServer.sh stop 就可以了。