【问题标题】:ZooKeeper Multi-Server Setup by ExampleZooKeeper 多服务器设置示例
【发布时间】: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


    【解决方案1】:

    1.可以用localhost吗?

    这是一个很好的问题,因为 ZooKeeper 文档并没有明确说明配置文件是否只接受 IP 地址。它只显示hostname,这可能表示IP 地址、DNS 或hosts 文件中的名称,例如localhost

    server.x=[主机名]:nnnnn[:nnnnn] 等
    (无 Java 系统属性)

    组成 ZooKeeper 整体的服务器。当服务器启动时,它通过在数据目录中查找文件 myid 来确定它是哪个服务器。该文件包含以 ASCII 格式表示的服务器编号,并且它应该与此设置左侧的 server.x 中的 x 匹配。

    但是,请注意 ZooKeeper 建议在所有主机中使用完全相同的配置文件:

    ZooKeeper 的行为由 ZooKeeper 配置文件控制。设计此文件是为了让组成 ZooKeeper 服务器的所有服务器都可以使用完全相同的文件,假设磁盘布局相同。如果服务器使用不同的配置文件,则必须注意确保所有不同配置文件中的服务器列表匹配。

    因此,只需输入机器 IP 地址,一切就可以正常工作了。另外,我亲自使用0.0.0.0进行了测试(在接口IP地址与公共IP地址不同的情况下),它确实有效。

    2。他们的服务器 ID 必须是数字吗?

    ZooKeeper multi-server configuration docsmyid需要是1到255之间的数值:

    myid 文件由单行组成,其中仅包含该机器 id 的文本。因此,服务器 1 的 myid 将包含文本“1”,仅此而已。 id 在整体中​​必须是唯一的,并且应该有一个介于 1 和 255 之间的值

    由于myid必须匹配server.x参数中的x,我们可以推断x也必须是一个数值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-08
      • 2019-02-06
      • 2011-03-09
      • 2015-05-25
      • 1970-01-01
      • 2014-10-06
      • 1970-01-01
      • 2020-12-02
      相关资源
      最近更新 更多