如何在同一台机器上添加第二个 ZooKeeper?

如何在同一台机器上添加第二个 ZooKeeper?

我正在运行 2 台专用服务器,计划在这些服务器上安装 Solrcloud。我已经安装了 ZooKeeper apt-get install zookeeperd,并且 ZooKeeper 在两个系统上运行。

我从 solr 文档中了解到,建议在生产中使用 3 个 zookeeper。

如何在一台机器上添加第二个 zookeeper?配置只允许一个。

答案1

你可以下载两个 tar.gzzookeeper 软件包,将它们解压到目录 /path/to/zookeepers 中,作为 zookeeper_one 和 zookeeper_two。随后,您可以复制 apt-get 包中的 zookeeper 服务脚本,修改路径和端口并启动两个 zookeeper。请注意,强烈建议每个节点使用一个 zookeeper,因为如果多个 zookeeper 在同一节点上运行,并且该节点发生故障,则整个仲裁将发生故障。

从技术上讲,我同意 @Navern 使用容器,因为这是在同一台机器上运行多个 zookeeper 的一种选择。但是,从 Zookeeper 仲裁的角度来看,一个节点上最多应安装一个 zookeeper 服务器。例如,使用 5 个 zookeeper 意味着 2 个节点可以毫无问题地关闭。两个节点上的 5 个 zookeeper 意味着如果包含 3 个 zookeeper 的节点关闭,仲裁就会关闭,即 SPOF

答案2

我建议使用docker来完成这个任务。

使用 Dockerfile 创建一个镜像,然后运行两个发布不同端口的容器。在 Dockerfile 中,您可以使用 apt-get install zookeeperd。

Docker 将帮助创建隔离环境。

相关内容