Apache zookeeper 动物园管理员集群的动态构建
Apache zookeeper 动物园管理员集群的动态构建,apache-zookeeper,Apache Zookeeper,我想通过编程设置zookeeper集群。我的目标是将机器与CoreOS一起使用,以docker容器的形式动态部署三个节点,并将它们设置为一个zoo集群
除了manual(/zookeeperReconfig.html)中显示如何向现有的三节点集群添加另一个节点的常见设置外,我发现了一个对话,其中说明了当现有集群中没有运行的节点时,如何从一开始就这样做。不幸的是,这组步骤对我不起作用。我是说
以下是我执行的步骤列表:
运行standaloneEnabled=false的第一个节点,该节点是zoo.
我想通过编程设置zookeeper集群。我的目标是将机器与CoreOS一起使用,以docker容器的形式动态部署三个节点,并将它们设置为一个zoo集群
除了manual(/zookeeperReconfig.html)中显示如何向现有的三节点集群添加另一个节点的常见设置外,我发现了一个对话,其中说明了当现有集群中没有运行的节点时,如何从一开始就这样做。不幸的是,这组步骤对我不起作用。我是说
以下是我执行的步骤列表:
运行standaloneEnabled=false的第一个节点,该节点是zoo.cfg.dynamic中的唯一条目
server.1=localhost:2381:2281:participant;0.0.0.0:2181
使用以下动态cfg运行第二个节点:
server.1=localhost:2381:2281:participant;0.0.0.0:2181
server.2=localhost:2382:2282:observer;0.0.0.0:2182
请注意,当我将第二个节点的“观察者”更改为“参与者”时,结果行为并没有区别
现在我有两个正在运行的实例。我可以使用./zkCli.sh登录第一个节点。当我尝试使用以下命令添加第二个节点时:
reconfig-addserver.2=localhost:2382:2282:participant;0.0.0.0:2182
。。。它失败于:
KeepErrorCode=NewConfigNoQuorum for
然而,经过一些研究,我找到了解决办法。但这很棘手,我不认为这是唯一正确的解决办法
什么对我有用?我可以在第一个节点上再次执行步骤#3,但现在使用“观察者”。此命令导致即使第一个节点也知道第二个节点。当我在zkCli中向控制台键入“config”时,它似乎正在工作。下一步是使用zkCli和than exec命令登录到第二个节点:
重新装配-拆卸2