在Debian上搭建ZooKeeper集群需要以下步骤:
首先,确保系统上安装了Java环境。可以使用以下命令安装OpenJDK 8:
sudo apt update
sudo apt install openjdk-8-jdk
java -version
从Apache Zookeeper官网下载所需版本的Zookeeper,并解压到指定目录。例如,下载3.9.2版本:
wget https://dlcdn.apache.org/zookeeper/zookeeper-3.9.2/apache-zookeeper-3.9.2-bin.tar.gz
tar -xzf apache-zookeeper-3.9.2-bin.tar.gz -C /opt
在每台服务器上,进入Zookeeper的配置文件目录(通常是/opt/zookeeper-3.9.2/conf
),并备份示例配置文件:
cd /opt/zookeeper-3.9.2/conf
sudo cp zoo_sample.cfg zoo.cfg
sudo nano zoo.cfg
修改配置文件,添加或修改以下内容:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/lib/zookeeper/data
clientPort=2181
server.1=192.168.1.1:2888:3888
server.2=192.168.1.2:2888:3888
server.3=192.168.1.3:2888:3888
确保每个节点的server.X
部分配置正确,X
是节点的编号。
在每个节点的dataDir
目录下创建myid
文件,并写入对应的节点编号:
sudo mkdir -p /var/lib/zookeeper/data
echo 1 > /var/lib/zookeeper/data/myid
在每台服务器上启动Zookeeper服务:
cd /opt/zookeeper-3.9.2/bin
sudo ./zkServer.sh start
使用以下命令查看集群状态:
./zkServer.sh status
你应该能看到一个类似于以下的输出,表明集群正在运行:
Mode: leader
Position: 192.168.1.1:2888:3888
Leader: 192.168.1.1:2888:3888
可以使用一些第三方工具来监控和管理ZooKeeper集群,例如:
clientPort
不冲突。dataDir
和dataLogDir
目录存在并且Zookeeper用户有权限访问。