-
jdk環境
-
上傳zk壓縮包
-
解壓縮
-
複製三份
mkdir /usr/local/zk_cluster
cp -r zookeeper-3.4.6 /usr/local/zk_cluster/zookeeper01 -
在每個zookeeper目錄下建立一個data目錄。
-
在data目錄下建立一個myid檔案,檔名就叫做“myid”。內容就是每個例項的id。例如1、2、3
echo 1 >> myid
cat myid -
修改配置檔案。把conf目錄下的zoo_sample.cfg檔案改名為zoo.cfg
# 修改以下配置 # 第5步建立的data目錄路徑 dataDir= # 埠號預設2181 三個zk節點埠要避免衝突 clienPort= # 本機IP:客戶端埠:服務端埠 servier.1=192.168.25.130:2881:3881 servier.2=192.168.25.130:2882:3882 servier.3=192.168.25.130:2883:3883
-
啟動每個zookeeper例項。
bin/zkServer.sh start
-
檢視zookeeper的狀態:
bin/zkServer.sh status
./zKCli.sh -server 127.0.0.1:2181 # 連線客戶端
- 顯示根目錄下、檔案: ls / 使用 ls 命令來檢視當前 ZooKeeper 中所包含的內容
- 顯示根目錄下、檔案: ls2 / 檢視當前節點資料並能看到更新次數等資料
- 建立檔案,並設定初始內容: create /zk "test" 建立一個新的 znode節點“ zk ”以及與它關聯的字串 [-e] [-s] 【-e 零時節點】 【-s 順序節點】
- 獲取檔案內容: get /zk 確認 znode 是否包含我們所建立的字串 [watch]【watch 監聽】
- 修改檔案內容: set /zk "zkbak" 對 zk 所關聯的字串進行設定
- 刪除檔案: delete /zk 將剛才建立的 znode 刪除,如果存在子節點刪除失敗
- 遞迴刪除:rmr /zk將剛才建立的 znode 刪除,子節點同時刪除
- 退出客戶端: quit
- 幫助命令: help
注意
zookeeper最近的版本中有個內嵌的管理控制檯是通過jetty啟動,也會佔用8080 埠。
通過檢視zookeeper的官方文件,發現有3種解決途徑:
(1).刪除jetty。
(2)修改埠。
修改方法的方法有兩種,一種是在啟動指令碼中增加 -Dzookeeper.admin.serverPort=你的埠號.一種是在zoo.cfg中增加admin.serverPort=沒有被佔用的埠號
(3)停用這個服務,在啟動指令碼中增加"-Dzookeeper.admin.enableServer=false"