在Ubuntu上搭建Zookeeper集群需要以下幾個步驟:
Zookeeper是用Java編寫的,所以首先需要在你的Ubuntu系統上安裝Java。
sudo apt update
sudo apt install openjdk-11-jdk
驗證Java安裝:
java -version
從Apache Zookeeper的官方網站下載最新版本的Zookeeper,并解壓到你的服務器上。
wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
tar -xzvf apache-zookeeper-3.7.0-bin.tar.gz -C /opt
為每個Zookeeper節點創建一個配置文件。假設你有三個節點,分別是 node1, node2, node3。
mkdir -p /var/lib/zookeeper/node1
mkdir -p /var/log/zookeeper/node1
mkdir -p /var/lib/zookeeper/node2
mkdir -p /var/log/zookeeper/node2
mkdir -p /var/lib/zookeeper/node3
mkdir -p /var/log/zookeeper/node3
為每個節點創建一個配置文件,例如 /etc/zookeeper/conf/node1.cfg。
cp /opt/apache-zookeeper-3.7.0-bin/conf/zoo_sample.cfg /etc/zookeeper/conf/node1.cfg
編輯 node1.cfg 文件:
nano /etc/zookeeper/conf/node1.cfg
修改以下配置:
tickTime=2000
dataDir=/var/lib/zookeeper/node1
clientPort=2181
initLimit=5
syncLimit=2
server.1 node2:2888:3888
server.2 node3:2888:3888
server.3 node1:2888:3888
重復上述步驟,為 node2 和 node3 創建配置文件,并相應地修改配置。
在每個節點的數據目錄中創建一個 myid 文件,用于標識節點ID。
echo "1" > /var/lib/zookeeper/node1/myid
echo "2" > /var/lib/zookeeper/node2/myid
echo "3" > /var/lib/zookeeper/node3/myid
在每個節點上啟動Zookeeper服務。
/opt/apache-zookeeper-3.7.0-bin/bin/zkServer.sh start
在任意一個節點上檢查Zookeeper集群的狀態。
/opt/apache-zookeeper-3.7.0-bin/bin/zkServer.sh status
你應該能看到類似以下的輸出:
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.7.0-bin/conf/zoo.cfg
Mode: follower
確保防火墻允許Zookeeper節點之間的通信。
sudo ufw allow 2181/tcp
sudo ufw allow 2888/tcp
sudo ufw allow 3888/tcp
你可以使用Zookeeper自帶的命令行工具或者第三方監控工具來監控和管理你的Zookeeper集群。
通過以上步驟,你就可以在Ubuntu上成功搭建一個Zookeeper集群。