以下是基本的 ZooKeeper 集群搭建步骤:
-
建立一个名为
zookeeper
的用户和组,并创建需要保存 ZooKeeper 数据的目录,可以使用命令 。sudo groupadd zookeeper; sudo useradd -g zookeeper zookeeper; sudo mkdir -p /var/lib/zookeeper/data /var/lib/zookeeper/logs
-
下载并解压 ZooKeeper 安装包到
/opt/zookeeper
目录中,可以使用如下命令:sudo wget https://downloads.apache.org/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz sudo tar -xzf apache-zookeeper-3.8.0-bin.tar.gz -C /opt/zookeeper --strip-components 1
-
创建 ZooKeeper 的配置文件
conf/zoo.cfg
,可以使用如下命令:sudo cp /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo.cfg sudo vi /opt/zookeeper/conf/zoo.cfg
将
dataDir
和dataLogDir
分别设置为之前创建的数据目录和日志目录,例如:dataDir=/var/lib/zookeeper/data dataLogDir=/var/lib/zookeeper/logs
接着将
server.x
配置为各个 ZooKeeper 服务器节点的信息。例如,在主节点 192.168.0.101 上,其配置信息如下:server.1=192.168.0.101:2888:3888 server.2=192.168.0.102:2888:3888 server.3=192.168.0.103:2888:3888
以上配置中,
server.x
的 x 应该从 1 开始计数,依次递增。 -
在数据目录
/var/lib/zookeeper/data
中为每个 ZooKeeper 服务器节点创建一个myid
文件,文件内容为该节点在zoo.cfg
配置中的编号。例如,在主节点上创建文件/var/lib/zookeeper/data/myid
,并写入内容1
。 -
启动 ZooKeeper 服务。可以使用如下命令:
sudo /opt/zookeeper/bin/zkServer.sh start
-
确认各个节点的状态。可以使用如下命令:
sudo /opt/zookeeper/bin/zkServer.sh status
应该能够看到每个节点的状态,例如:
Mode: follower Mode: leader Mode: follower
如果 ZooKeeper 集群的节点启动顺序没有严格保证,则进入观察模式(
Mode: observer
)。 -
在每个节点完成安装、配置、启动后,需要测试所有节点是否都能正常互相通信,可以使用如下命令:
echo mntr | nc <ip_address> <port_number>
其中
<ip_address>
和<port_number>
分别是某一个 ZooKeeper 节点的 IP 地址和端口号。执行该命令后,能够看到输出的详细状态信息,表明 ZooKeeper 集群搭建成功。
这是一个简单的 ZooKeeper 集群搭建过程,实际搭建需要根据具体情况进行修改调整。如果您在集群搭建过程中遇到问题,可以查看 ZooKeeper 官方文档或者寻求相关专业支持。
参考资料
Zookeeper集群搭建_Linux小百科的博客-CSDN博客
https://huaweicloud.csdn.net/635610fbd3efff3090b598cf.html