在Debian上部署Zookeeper高可用集群需要遵循以下步骤:
安装Java:Zookeeper需要Java运行环境。
sudo apt update
sudo apt install openjdk-8-jdk
下载并解压Zookeeper:
wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
tar -xzf apache-zookeeper-3.7.0-bin.tar.gz -C /opt
ln -s /opt/apache-zookeeper-3.7.0-bin /opt/zookeeper
为每个节点创建配置文件和数据目录。
mkdir -p /var/lib/zookeeper/node1
mkdir -p /var/log/zookeeper/node1
cp /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo1.cfg
编辑 /opt/zookeeper/conf/zoo1.cfg:
tickTime=2000
dataDir=/var/lib/zookeeper/node1
clientPort=2181
initLimit=5
syncLimit=2
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
mkdir -p /var/lib/zookeeper/node2
mkdir -p /var/log/zookeeper/node2
cp /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo2.cfg
编辑 /opt/zookeeper/conf/zoo2.cfg:
tickTime=2000
dataDir=/var/lib/zookeeper/node2
clientPort=2181
initLimit=5
syncLimit=2
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
mkdir -p /var/lib/zookeeper/node3
mkdir -p /var/log/zookeeper/node3
cp /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo3.cfg
编辑 /opt/zookeeper/conf/zoo3.cfg:
tickTime=2000
dataDir=/var/lib/zookeeper/node3
clientPort=2181
initLimit=5
syncLimit=2
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
在每个节点的数据目录下创建一个 myid 文件,内容为该节点的ID。
echo "1" > /var/lib/zookeeper/node1/myid
echo "2" > /var/lib/zookeeper/node2/myid
echo "3" > /var/lib/zookeeper/node3/myid
在每个节点上启动Zookeeper服务。
/opt/zookeeper/bin/zkServer.sh start
在任意一个节点上运行以下命令来验证集群状态:
/opt/zookeeper/bin/zkServer.sh status
你应该能看到所有节点的状态都是 leader 或 follower。
确保防火墙允许Zookeeper节点之间的通信。
sudo ufw allow 2181/tcp
sudo ufw allow 2888/tcp
sudo ufw allow 3888/tcp
设置监控系统(如Prometheus和Grafana)来监控Zookeeper集群的健康状况和性能指标。
通过以上步骤,你可以在Debian上成功部署一个高可用的Zookeeper集群。