在Debian上搭建Zookeeper集群需要以下步驟:
首先,確保系統上安裝了Java環境??梢允褂靡韵旅畎惭bOpenJDK:
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
相匹配。