在Ubuntu上安裝和配置Zookeeper可以分為以下幾個步驟:
首先,確保系統已經安裝了JDK??梢允褂靡韵旅钸M行安裝:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
java -version # 驗證安裝是否成功
從Apache官網下載所需的Zookeeper版本,例如:
wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
tar -xzf apache-zookeeper-3.7.0-bin.tar.gz -C /usr/local/src/
進入解壓后的目錄并配置zoo.cfg
文件:
cd /usr/local/src/zookeeper-3.7.0-bin
nano conf/zoo.cfg
主要修改以下配置項:
dataDir
: 數據存儲目錄clientPort
: 客戶端連接端口server.X
: 每個Zookeeper節點的ID和對應信息例如:
tickTime=2000
dataDir=/usr/local/src/zookeeper-3.7.0-bin/data
clientPort=2181
server.1 127.0.0.1:2888:3888
server.2 127.0.0.1:2889:3889
server.3 127.0.0.1:2890:3890
在dataDir
指定的路徑下創建data
和logs
目錄:
sudo mkdir -p /usr/local/src/zookeeper-3.7.0-bin/data
sudo mkdir -p /usr/local/src/zookeeper-3.7.0-bin/logs
在Zookeeper的bin
目錄下啟動Zookeeper服務:
cd /usr/local/src/zookeeper-3.7.0-bin/bin
./zkServer.sh start
驗證是否啟動成功可以使用:
./zkServer.sh status
停止Zookeeper服務:
./zkServer.sh stop
如果希望Zookeeper開機自啟動,可以將以下內容添加到/etc/rc.local
文件中:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/usr/local/src/zookeeper-3.7.0-bin/bin/zkServer.sh start
exit 0
為了方便管理Zookeeper服務,可以將其配置為systemd服務:
sudo nano /etc/systemd/system/zookeeper.service
添加以下內容:
[Unit]
Description=Apache Zookeeper
Documentation=http://zookeeper.apache.org/doc/current/
Requires=network.target
After=network.target
[Service]
Type=forking
User=zookeeper
Group=zookeeper
WorkingDirectory=/usr/local/zookeeper
ExecStart=/usr/local/zookeeper/bin/zkServer.sh start
ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop
ExecReload=/usr/local/zookeeper/bin/zkServer.sh restart
TimeoutSec=30
Restart=always
[Install]
WantedBy=multi-user.target
保存并退出編輯器,然后啟用并啟動Zookeeper服務:
sudo systemctl daemon-reload
sudo systemctl start zookeeper
sudo systemctl enable zookeeper
如果需要開放Zookeeper的端口(默認是2181),可以配置防火墻:
sudo ufw allow 2181
以上步驟涵蓋了在Ubuntu上安裝和配置Zookeeper的基本流程,可以根據實際需求進行調整和擴展。