上傳ZooKeeper壓縮包
- 上傳至/opt/software目錄中
解壓ZooKeeper壓縮包
- 進入到/opt/software目錄中
cd /opt/software/
- 解壓縮到指定目錄
tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /opt/module/
- 進入/opt/module資料夾內
cd /opt/module/
- 檔案目錄改名
mv apache-zookeeper-3.7.1-bin/ zookeeper
配置伺服器編號
- 在/opt/module/zookeeper/目錄下建立zkData
- 進入/opt/module/zookeeper目錄
cd /opt/module/zookeeper
- 建立zkData檔案目錄
mkdir zkData
- 進入/opt/module/zookeeper目錄
- 建立myid檔案
- 進入/opt/module/zookeeper/zkData目錄
cd /opt/module/zookeeper/zkData
- 建立myid檔案
vim myid
- 進入/opt/module/zookeeper/zkData目錄
- 在檔案中增加內容
1
修改配置檔案
- 重新命名/opt/module/zookeeper/conf目錄下的zoo_sample.cfg檔案為zoo.cfg檔案
- 進入cd /opt/module/zookeeper/conf檔案目錄
cd /opt/module/zookeeper/conf
- 修改檔名稱
mv zoo_sample.cfg zoo.cfg
- 修改檔案內容
vim zoo.cfg
- 進入cd /opt/module/zookeeper/conf檔案目錄
- 修改zoo.cfg檔案
-
以下內容為修改內容
dataDir=/opt/module/zookeeper/zkData
-
以下內容為新增內容
點選檢視程式碼
server.1=kafka-broker1:2888:3888 server.2=kafka-broker2:2888:3888 server.3=kafka-broker3:2888:3888
-
啟動ZooKeeper
- 進入zookeeper目錄
cd /opt/module/zookeeper
- 啟動ZK服務
bin/zkServer.sh start
關閉ZooKeeper
- 進入zookeeper目錄
cd /opt/module/zookeeper
- 關閉ZK服務
bin/zkServer.sh stop
檢視ZooKeeper狀態
- 進入zookeeper目錄
cd /opt/module/zookeeper
- 檢視ZK服務狀態
bin/zkServer.sh status
分發軟體
- 進入/opt/module路徑
cd /opt/module
- 呼叫分發指令碼將本機得ZooKeeper安裝包分發到其他兩臺機器
xsync zookeeper
- 分別將不同虛擬機器/opt/module/zookeeper/zkData目錄下myid檔案進行修改
vim /opt/module/zookeeper/zkData/myid
分發指令碼可參考此部落格https://i.cnblogs.com/posts/edit;postId=18145758
啟停指令碼
- 進入/root/bin目錄
cd /root/bin
- 建立zk.sh指令碼檔案
vim zk.sh
- 在指令碼中增加內容:
點選檢視程式碼
#!/bin/bash
case "$1" in
start)
for i in kafka-broker1 kafka-broker2 kafka-broker3
do
echo "---------- zookeeper $i 啟動 ------------"
ssh $i "/opt/module/zookeeper/bin/zkServer.sh start"
done
;;
stop)
for i in kafka-broker1 kafka-broker2 kafka-broker3
do
echo "---------- zookeeper $i 停止 ------------"
ssh $i "/opt/module/zookeeper/bin/zkServer.sh stop"
done
;;
status)
for i in kafka-broker1 kafka-broker2 kafka-broker3
do
echo "---------- zookeeper $i 狀態 ------------"
ssh $i "/opt/module/zookeeper/bin/zkServer.sh status"
done
;;
*)
echo "Usage: $0 {start|stop|status}"
;;
esac
-
增加指令碼檔案許可權
chmod 777 zk.sh
-
指令碼呼叫方式
-
啟動ZK服務
zk.sh start
-
檢視ZK服務狀態
zk.sh status
-
停止ZK服務
zk.sh stop