Zookeeper 集群领导者报告的追随者数量不正确

Zookeeper 集群领导者报告的追随者数量不正确

我在 Kubernetes 中运行一个由 3 个实例组成的 zookeeper 集成。该集成运行基本正常,并成功为其支持的 Solr 集群提供服务。但有一件事似乎不对劲,结果破坏了我应用程序另一部分(Sitecore)的一些健康检查。

由于某种原因,Solr -> 云 -> ZK 状态页面 -AND-主叫领导者本身的命令报告追随者的数量偶尔变化且不正确:

Solr GUI 错误

root@zk-1:/zookeeper-3.4.14# echo mntr | nc localhost 2181
zk_version      3.4.14-4c25d480e66aadd371de8bd2fd8da255ac140bcf, built on 03/06/2019 16:18 GMT
zk_avg_latency  2
zk_max_latency  4
zk_min_latency  1
zk_packets_received     1132
zk_packets_sent 1131
zk_num_alive_connections        5
zk_outstanding_requests 0
zk_server_state leader
zk_znode_count  1405
zk_watch_count  0
zk_ephemerals_count     57
zk_approximate_data_size        4703048
zk_open_file_descriptor_count   42
zk_max_file_descriptor_count    1048576
zk_fsync_threshold_exceed_count 0
zk_followers    5
zk_synced_followers     2
zk_pending_syncs        0
zk_last_proposal_size   92
zk_max_proposal_size    55791
zk_min_proposal_size    32

请注意,报告的关注者数量(zk_followers)并不一致 - 在这个示例中,GUI 报告 4,但命令行报告 5。每次我刷新 GUI 或重新运行 mntr 命令时,这个数字都会上下跳动,通常在 3-6 之间(正确的结果显然应该是 2)

我无法弄清楚所报告的这些额外关注者是什么,因为除了 zk_followers var 之外没有其他输出显示除两个真实关注者之外的任何内容,并且日志似乎没有报告任何不良情况。

动物园配置文件:

root@zk-1:/zookeeper-3.4.14# cat /conf/zoo.cfg
clientPort=2181
dataDir=/store/data        
dataLogDir=/store/datalog  
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0  
maxClientCnxns=60
server.1=zk-0.zk:2888:3888 
server.2=0.0.0.0:2888:3888 
server.3=zk-2.zk:2888:3888

zooservers.txt:

root@zk-1:/zookeeper-3.4.14# cat /conf/zooservers.txt 
server.1=zk-0.zk:2888:3888 server.2=0.0.0.0:2888:3888 server.3=zk-2.zk:2888:3888

如上所述,这似乎不会对整体或 solr 集群造成任何实际问题,只是它未能通过一些容器启动健康检查,从而导致应用程序不一致,并可能导致部分应用程序崩溃。

相关内容