Apache zookeeper 从单个zookeeper服务器过渡到群集配置

Apache zookeeper 从单个zookeeper服务器过渡到群集配置,apache-zookeeper,Apache Zookeeper,我有一台服务器,现在我想复制它并获得更高的可用性。我的软件堆栈中的一个元素是Zookeeper,因此在它上使用集群配置似乎很自然 但是,我的单台服务器上有数据,我找不到任何关于集群设置的指南。我尝试设置两个独立的实例,然后转到集群配置,但只保留了所选主机上的数据 那么,我如何才能安全地从单服务器设置转到群集设置而不丢失数据呢?如果从1台服务器直接转到3台服务器,可能会丢失数据,因为2台新服务器足以构成仲裁,并选择其中一台作为领导者,而忽略旧服务器,并丢失该计算机上的所有数据 如果将集群从1扩展到

我有一台服务器,现在我想复制它并获得更高的可用性。我的软件堆栈中的一个元素是Zookeeper,因此在它上使用集群配置似乎很自然

但是,我的单台服务器上有数据,我找不到任何关于集群设置的指南。我尝试设置两个独立的实例,然后转到集群配置,但只保留了所选主机上的数据


那么,我如何才能安全地从单服务器设置转到群集设置而不丢失数据呢?

如果从1台服务器直接转到3台服务器,可能会丢失数据,因为2台新服务器足以构成仲裁,并选择其中一台作为领导者,而忽略旧服务器,并丢失该计算机上的所有数据

如果将集群从1扩展到2,当两台服务器启动时,在没有旧服务器参与的情况下无法形成仲裁,数据也不会丢失。当集群完成启动时,所有数据将同步到两台服务器

然后,您可以将集群从2个扩展到3个,同样,如果没有至少1个具有数据库副本的服务器,就无法形成仲裁,并且当集群完成启动时,所有数据都将同步到所有三个服务器