在Linux上搭建Zookeeper集群需要遵循以下步驟:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
從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
。
在每個節點上創建Zookeeper的數據目錄和日志目錄。
sudo mkdir -p /var/lib/zookeeper/data
sudo mkdir -p /var/log/zookeeper
復制示例配置文件并進行修改。
cd /opt/apache-zookeeper-3.7.0-bin/conf
cp zoo_sample.cfg zoo.cfg
編輯zoo.cfg
文件:
sudo nano zoo.cfg
在文件中添加或修改以下內容:
tickTime=2000
dataDir=/var/lib/zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
其中,node1
, node2
, node3
是你的節點的主機名或IP地址。
在每個節點的數據目錄下創建一個myid
文件,用于標識節點ID。
echo "1" | sudo tee /var/lib/zookeeper/data/myid # 在node1上
echo "2" | sudo tee /var/lib/zookeeper/data/myid # 在node2上
echo "3" | sudo tee /var/lib/zookeeper/data/myid # 在node3上
在每個節點上啟動Zookeeper服務。
cd /opt/apache-zookeeper-3.7.0-bin/bin
./zkServer.sh start
在任意一個節點上檢查Zookeeper集群的狀態。
./zkServer.sh status
你應該能看到類似以下的輸出,表示集群正常運行:
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.7.0-bin/bin/../conf/zoo.cfg
Mode: leader
確保防火墻允許Zookeeper的端口通信。
sudo firewall-cmd --zone=public --add-port=2181/tcp --permanent
sudo firewall-cmd --zone=public --add-port=2888/tcp --permanent
sudo firewall-cmd --zone=public --add-port=3888/tcp --permanent
sudo firewall-cmd --reload
你可以使用Zookeeper自帶的命令行工具或者第三方監控工具來監控和管理Zookeeper集群。
通過以上步驟,你就可以在Linux上成功搭建一個Zookeeper集群。