在CentOS上安裝Zookeeper的步驟如下:
Zookeeper需要Java運行環境(JRE)或Java開發工具包(JDK)才能運行。建議在CentOS上安裝OpenJDK 8或更高版本。
sudo yum install java-1.8.0-openjdk-devel -y
java -version
從Apache Zookeeper的官方網站下載所需版本的Zookeeper壓縮包,然后解壓到指定目錄。例如,下載zookeeper-3.7.0版本:
wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz
sudo mv apache-zookeeper-3.7.0-bin /opt/zookeeper
進入解壓后的Zookeeper目錄,復制并修改zoo_sample.cfg
配置文件為zoo.cfg
。主要需要修改的配置項包括dataDir
(數據目錄)、clientPort
(客戶端連接端口)等。
cd /opt/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
配置示例:
tickTime=2000
dataDir=/usr/local/zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:3888:4888
server.3=127.0.0.1:4888:5888
sudo mkdir -p /usr/local/zookeeper/data
sudo mkdir -p /usr/local/zookeeper/log
sudo chown -R zookeeper:zookeeper /usr/local/zookeeper
sudo chmod -R 755 /usr/local/zookeeper
在每個節點的data
目錄下創建一個名為myid
的文件,文件內容為本機的唯一標識(通常是1)。
echo "1" > /usr/local/zookeeper/data/myid
創建并編輯zookeeper.service
文件:
sudo vi /etc/systemd/system/zookeeper.service
添加以下內容:
[Unit]
Description=Apache Zookeeper
After=network.target
[Service]
Type=forking
User=root
Group=root
PIDFile=/usr/local/zookeeper/data/zookeeper.pid
ExecStart=/usr/local/zookeeper/bin/zkServer.sh start
ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop
PrivateTmp=true
Environment=JAVA_HOME=/usr/lib/jvm/java-8-openjdk
Restart=always
[Install]
WantedBy=multi-user.target
設置開機自啟:
sudo systemctl daemon-reload
sudo systemctl enable zookeeper
sudo systemctl start zookeeper
啟動成功后,可以使用以下命令檢查Zookeeper的狀態:
/usr/local/zookeeper/bin/zkServer.sh status
確保防火墻允許Zookeeper使用的端口(默認是2181)通信。
sudo firewall-cmd --zone=public --add-port=2181/tcp --permanent
sudo firewall-cmd --reload
以上步驟應該能夠在CentOS系統上成功安裝并運行Zookeeper。如果在安裝過程中遇到問題,建議查閱Zookeeper的官方文檔或尋求社區的幫助。