在CentOS系統上搭建Zookeeper集群是一個相對復雜的過程,需要仔細配置每個節點的設置。以下是一個基本的搭建步驟指南:
sudo yum install java-1.8.0-openjdk-devel
sudo systemctl stop firewalld
sudo systemctl disable firewalld
zookeeper-3.8.0.tar.gz
。wget https://downloads.apache.org/zookeeper/zookeeper-3.8.0/zookeeper-3.8.0.tar.gz
/usr/local/zookeeper
。tar -zxvf zookeeper-3.8.0.tar.gz -C /usr/local/zookeeper
conf
目錄,復制zoo_sample.cfg
文件并重命名為zoo.cfg
。zoo.cfg
文件,設置以下參數:tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=10
syncLimit=5
server.1=192.168.1.1:2888:3888
server.2=192.168.1.2:2888:3888
server.3=192.168.1.3:2888:3888
data
目錄中創建一個名為myid
的文件,并寫入該服務器的ID(例如,在server.1
上寫入1,在server.2
上寫入2,在server.3
上寫入3)。zookeeper.service
文件:[Unit]
Description=Zookeeper
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/zookeeper/bin/zkServer.sh start
ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop
PrivateTmp=true
Environment=JAVA_HOME=/usr/local/java/jdk1.8.0_202
User=zookeeper
Group=zookeeper
PIDFile=/var/run/zookeeper/zookeeper.pid
Restart=always
[Install]
WantedBy=multi-user.target
sudo chmod +x /etc/systemd/system/zookeeper.service
sudo chkconfig --add zookeeper
sudo chkconfig zookeeper on
sudo /usr/local/zookeeper/bin/zkServer.sh start
zkCli.sh
連接到任何一臺服務器,檢查集群的狀態,確保所有節點都已成功加入集群:./bin/zkCli.sh -server 192.168.1.1:2181
在客戶端中執行status
命令查看集群狀態。在任意節點上執行以下命令,查看集群節點狀態:
./bin/zkServer.sh status
如果集群啟動成功,應該能看到所有服務器都處于運行狀態,并且有一個Leader節點和若干Follower節點。
myid
文件和zoo.cfg
文件中的server.x
配置必須一致且正確。通過以上步驟,您可以在CentOS系統上成功搭建一個高可用的Zookeeper集群。