【发布时间】:2017-02-20 12:38:39
【问题描述】:
在ZooKeeper multi-server config docs 中,他们展示了以下配置,可以放置在每台服务器上的zoo.cfg(ZK 的配置文件)中:
tickTime=2000
dataDir=/var/zookeeper/
clientPort=2181
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
此外,他们声明您需要在每个 ZK 节点上都有一个 myid 文件,其内容与上述 server.id 值之一匹配。例如,在一个 3 节点“集成”(ZK 集群)中,第一个节点的 myid 文件将只包含值 1。第二个节点的myid 文件将包含2,依此类推。
我有几个关于现实世界中的样子的实际问题:
1.可以使用localhost 吗? 如果必须在集合中的每个节点上重复zoo.cfg,是否可以将当前服务器定义为localhost?例如,在 3 节点集成中,服务器 #2 的 zoo.cfg 看起来像这样是否可以:
tickTime=2000
dataDir=/var/zookeeper/
clientPort=2181
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=localhost:2888:3888 # Afterall, we're on server #2!
server.3=zoo3:2888:3888
或者这是不建议/不可能的?
2。他们的服务器 ID 必须是数字吗? 例如,我可以有一个 5 节点集合,其中每个服务器的 zoo.cfg 看起来像:
tickTime=2000
dataDir=/var/zookeeper/
clientPort=2181
initLimit=5
syncLimit=2
server.red=zoo1:2888:3888
server.green=zoo2:2888:3888
server.blue=zoo3:2888:3888
server.orange=zoo1:2888:3888
server.purple=zoo2:2888:3888
比如说,服务器 1 的 myid 将在其中包含值 red(等等)?
【问题讨论】:
标签: configuration admin apache-zookeeper distributed-computing multiserver