在Debian上搭建Zookeeper集群需要以下步骤:
首先,确保系统上安装了Java环境。可以使用以下命令安装OpenJDK:
sudo apt-get update
sudo apt-get install openjdk-11-jdk
验证Java安装:
java -version
从Zookeeper官网下载所需版本的Zookeeper压缩包,然后解压到指定目录。例如,下载Zookeeper 3.5.6版本:
wget http://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.6/apache-zookeeper-3.5.6-bin.tar.gz
tar -zxf apache-zookeeper-3.5.6-bin.tar.gz
cd apache-zookeeper-3.5.6-bin
为每个Zookeeper实例创建配置文件。复制conf/zoo_sample.cfg
为zoo.cfg
,并修改dataDir
指向数据存储目录。例如:
cp conf/zoo_sample.cfg conf/zoo.cfg
在zoo.cfg
中添加或修改以下配置:
dataDir /var/lib/zookeeper
clientPort 2181
server.1 192.168.1.1:2881:3881
server.2 192.168.1.2:2882:3882
server.3 192.168.1.3:2883:3883
在每个Zookeeper实例的数据目录下创建myid
文件,并写入对应的ID:
cd /var/lib/zookeeper
touch myid
echo "1" > myid
开放Zookeeper使用的端口:
sudo iptables -I INPUT -p tcp --dport 2181 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 2881 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 3881 -j ACCEPT
保存并重启iptables服务:
sudo /etc/rc.d/init.d/iptables save
sudo /etc/init.d/iptables restart
在每个节点上启动Zookeeper服务:
./zkServer.sh start
使用以下命令查看集群状态:
./zkServer.sh status
zoo.cfg
配置文件中的server.x
条目一致。myid
文件内容必须与server.x
中的x
相匹配。