我正在运行一个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节点集合是个坏主意吗?
答案 0 :(得分:0)
我可以只删除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部署通常由奇数台计算机组成。