ZooKeeper 06 - ZooKeeper 的常用命令

若要部署 ZooKeeper 單機環境,請查看此篇:https://www.cnblogs.com/shoufeng/p/10591508.html

若要部署 ZooKeeper 集羣環境,請查看此篇:https://www.cnblogs.com/shoufeng/p/10591526.html

1 - 服務端常用命令

直接執行 zkServer.sh,會給出如下提示:

ZooKeeper JMX enabled by default
Using config: /data/zookeeper-3.5.8/bin/../conf/zoo.cfg
Usage: ./zkServer.sh [--config <conf-dir>] {start|start-foreground|stop|restart|status|print-cmd}

根據上面的提示,可以知道此腳本可以通過指定參數來執行不同的功能:

# 啓動服務:
sh zkServer.sh start 

# 查看服務狀態:
sh zkServer.sh status 

# 停止服務:
sh zkServer.sh stop 

# 重啓服務:
sh zkServer.sh restart  

2 - 客戶端常用命令

使用 zkCli.sh -server ip:2181 連接到 ZooKeeper 服務,控制檯就會輸出 ZooKeeper 的相關環境以及配置信息。

# 查看某個目錄下的節點:
ls /zookeeper
# 查看當前節點數據並能看到更新次數等數據
ls -s /zookeeper

# 創建新的 Znode,並設置數據:[-e] 是臨時節點,[-s] 是順序節點
create /test "test-znode"
# 獲取節點中的數據
get /test
# 修改節點內容
set /test "test-update"

# 刪除節點,如果存在子節點刪除失敗
delete /test

# 遞歸刪除當前節點及其下的所有子節點
deleteall /test

3 - 常用四字命令

可通過 telnet 或 nc 提交四字命令與 ZooKeeper 交互,比如獲取 ZooKeeper 服務的狀態等。

先安裝好 nc:yum -y install nc

# 查看哪個節點被選擇作 leader 或 follower
echo stat | nc 127.0.0.1 2181
# 測試是否啓動該Server,若回覆 imok 表示已經啓動
echo ruok | nc 127.0.0.1 2181 
# 列出未經處理的會話和臨時節點
echo dump | nc 127.0.0.1 2181

# 輸出服務配置的詳細信息
echo conf | nc 127.0.0.1 2181
# 列出所有連接到該 Server 的客戶端的連接 / 會話的詳細信息
echo cons | nc 127.0.0.1 2181

# 輸出關於服務環境的詳細信息(區別於 conf 命令)
echo envi | nc 127.0.0.1 2181

# 列出未經處理的請求
echo reqs | nc 127.0.0.1 2181

# 列出服務器 watch 的詳細信息
echo wchs | nc 127.0.0.1 2181
# 通過 session 列出服務器 watch 的詳細信息,結果是一個與 watch 相關的會話列表
echo wchc | nc 127.0.0.1 2181
# 通過路徑列出服務器 watch 的詳細信息,結果是一個與 session 相關的路徑
echo wchp | nc 127.0.0.1 2181

# 關掉該 Server
echo kill | nc 127.0.0.1 2181

4 - ZooKeeper 日誌的可視化

ZooKeeper 的配置文件中指定的 dataDir 目錄,用來存放快照數據,dataLogDir 用來存放事務日誌文件。

打開這兩個目錄下的文件,會發現它們都是亂碼的,這個時候可以通過如下方法打開:

# 查看事務日誌,指定 jar 包、啓動類和日誌文件的絕對路徑:
java -cp /data/zookeeper-3.5.8/lib/zookeeper-3.5.8.jar:/data/zookeeper-3.5.8/lib/zookeeper-jute-3.5.8.jar:/data/zookeeper-3.5.8/lib/slf4j-api-1.7.25.jar \
org.apache.zookeeper.server.LogFormatter \
/data/zookeeper-3.5.8/data/log/version-2/log.d96

# 查看快照數據,指定 jar 包、啓動類和數據文件的絕對路徑:
java -cp /data/zookeeper-3.5.8/lib/zookeeper-3.5.8.jar:/data/zookeeper-3.5.8/lib/zookeeper-jute-3.5.8.jar:/data/zookeeper-3.5.8/lib/slf4j-api-1.7.25.jar \
org.apache.zookeeper.server.SnapshotFormatter \
/data/zookeeper-3.5.8/data/version-2/snapshot.d95

版權聲明

作者:瘦風(https://healchow.com)

出處:博客園-瘦風的南牆(https://www.cnblogs.com/shoufeng)

感謝閱讀,公衆號 「瘦風的南牆」 ,手機端閱讀更佳,還有其他福利和心得輸出,歡迎掃碼關注🤝

本文版權歸博主所有,歡迎轉載,但 [必須在頁面明顯位置標明原文鏈接],否則博主保留追究相關人士法律責任的權利。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章