在Linux下搭建Zookeeper集群,可以按照以下步骤进行:
/opt/zookeeper。wget https://archive.apache.org/dist/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
tar -xzvf apache-zookeeper-3.7.0-bin.tar.gz -C /opt/
mkdir -p /var/lib/zookeeper/data
mkdir -p /var/log/zookeeper
cp /opt/apache-zookeeper-3.7.0-bin/conf/zoo_sample.cfg /opt/apache-zookeeper-3.7.0-bin/conf/zoo.cfg
编辑 zoo.cfg 文件,添加以下内容:
tickTime=2000
dataDir=/var/lib/zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
其中,node1, node2, node3 是集群中各个节点的主机名或IP地址。
dataDir 目录下创建一个 myid 文件,用于标识该节点的ID。echo "1" > /var/lib/zookeeper/data/myid # 在node1上
echo "2" > /var/lib/zookeeper/data/myid # 在node2上
echo "3" > /var/lib/zookeeper/data/myid # 在node3上
在每个节点上启动Zookeeper服务。
/opt/apache-zookeeper-3.7.0-bin/bin/zkServer.sh start
在任意一个节点上执行以下命令,查看集群状态。
/opt/apache-zookeeper-3.7.0-bin/bin/zkServer.sh status
你应该能看到类似以下的输出:
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.7.0-bin/conf/zoo.cfg
Mode: leader
在另一个节点上执行相同的命令,应该能看到类似以下的输出:
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.7.0-bin/conf/zoo.cfg
Mode: follower/follower
通过这种方式,你可以验证集群中的所有节点是否正常运行。
确保所有节点之间的通信端口(默认是2888和3888)在防火墙中是开放的。
sudo firewall-cmd --zone=public --add-port=2181/tcp --permanent
sudo firewall-cmd --zone=public --add-port=2888/tcp --permanent
sudo firewall-cmd --zone=public --add-port=3888/tcp --permanent
sudo firewall-cmd --reload
通过以上步骤,你可以在Linux下成功搭建一个Zookeeper集群。