更改Zookeeper节点的顺序

问题描述

我正在运行一个3节点的Zookeeper合奏。配置条目是这样的

server.1=0.0.0.0:2888:3888 
server.2=myserver2:2888:3888
server.3=myserver3:2888:3888

我想减少节点数,并从集合中删除myserver2。是否可以仅删除myserver2的条目,关闭myserver2并在其他两个服务器上重新启动服务?动物园管理员是否期望条目按顺序排列(1、2、3等)? 2节点集合是个坏主意吗?

解决方法

我可以只删除myserver2的条目,关闭myserver2并重新启动其他两个服务吗?

是的,只要您删除集合其余每个部分的配置,就可以这样做。

动物园管理员是否希望条目按顺序排列(1、2、3等)?

不确定如何回答这一问题。假设您的意思是是否先定义server.1,然后再定义server.3,但我不确定考虑使用Administrator guide是可行的。但是,请记住,每个仲裁成员都必须具有myid文件中定义的唯一ID,以进行群集设置。因此,如果将myid设置为与序列中的下一个不同的数字,则还应该在zoo.cfg中进行设置。相关管理员指南section中的更多信息。

2节点集合是个坏主意吗?

简短的回答:是的。

长答案:ZooKeeper要求集成中的大多数服务器都可以正常使用。因此,最好使用奇数台机器。使用2个节点,没有容错能力。如果其中一个失败,则另一个无法形成多数,因此该服务不可用。容错群集设置至少需要3台服务器。引用管理员指南:

要使ZooKeeper服务处于活动状态,必须有大多数可以相互通信的非故障机器。要创建可以容忍F机故障的部署,您应该依靠部署2xF + 1机。因此,由三台计算机组成的部署可以处理一个故障,而由五台计算机组成的部署可以处理两个故障。请注意,部署六台计算机只能处理两个故障,因为三台计算机不是多数。因此,ZooKeeper部署通常由奇数台计算机组成。