如何设置动物园管理员集群


在我的previous article,我讨论了如何使用单个节点设置ZooKeeper。为了提高ZooKeeper服务的可靠性和高可用性,我们应该将ZooKeeper设置为集群模式。在本文中,我将讨论如何设置具有3个节点的ZooKeeper集群。动物园饲养员集群也被称为动物园饲养员合奏。在本文结束时,您将能够设置一个包含任意多个节点的集合。

从下载ZooKeeperhere

解压zip文件。额外制作两份解压缩文件夹的副本。在这些文件夹的名称中添加后缀“_1”、“_2”、“_3”。因此,如果解压缩的文件夹是zooKeeper-3.4.12,那么现在您将有三个文件夹,名称分别为:zooKeeper-3.4.12_1、.zooKeeper-3.4.12_2、.zooKeeper-3.4.12_3。

  1. 转到zooKeeper-3.4.12_1目录。

  2. 在ZooKeeper的主目录中创建两个文件夹,名称分别为Data和Logs。

  3. 执行命令:ECHO“1”>data/myid。这是系综中的服务器ID。该ID在系综中必须是唯一的,并且应该有一个介于1和255之间的值。

  4. 转到conf文件夹并将zoo_sample.cfg文件的名称更改为zoo.cfg。

  5. 将.dataDir更改为我们在上述步骤中创建的数据文件夹的完整路径。

  6. 将参数clientPort设置为2181。

  7. 将以下行粘贴到zoo.cfg文件中。

server.1=localhost:2891:3881
#1 is the id that we put in myid file.
server.2=localhost:2892:3882
#2 is the id that we will put in myid file of second node.
server.3=localhost:2893:3883
#3 is the id that we will put in myid file of third node.

ZooKeeper将使用这些端口(2891等)将各个跟随者节点连接到引线节点。其他端口(3881等)是用来在合唱团中进行领导人选举的。

我们的配置已经为第一个节点做好了准备。对于其他两个文件夹或节点,执行与上述相同的步骤,并进行以下更改。

  • 在步骤3中,将命令分别更改为echo“2”>data/myid和echo“3”>data/myid。

  • 在步骤6中,将端口分别更改为2182和2183。

现在我们的配置已经准备好了。转到每个文件夹的主目录,然后执行命令:

java-cpzoo.cfg conf/zookeeper-3.4.12.jar:lib/log4j-1.2.17.jar:lib/slf4j-log4j12-1.7.25.jar:lib/slf4j-api-1.7.25.jar:conf org.apache.zookeeper.server.quorum.QuorumPeerMain>>Logs/zookeeper.log&

检查日志以查看您的群集是否已准备就绪。

结论

我们讨论了如何建立一个有3个节点的系综。现在,您可以通过进行一些更改来创建具有任意多个节点的集合。