摘要:如果正常返回,否則返回空重置服務器的統計信息輸出服務器的詳細信息。版本接收發送包數量連接數模式節點總數輸出服務器的詳細信息接收發送包數量連接數模式節點總數延遲。如果數量很大的話,將會產生很大的開銷,會影響性能,小心使用列出集群的健康狀態。
前陣子寫過一篇文章,用來記錄如何在docker中啟動ZooKeeper的單機或者集群節點,最近收到一個issue,大意是說項目啟動后,測試ZK的四字命令無效,這篇文章記錄一下解決辦法ZK四字命令
四字命令其實就是通過類似 echo stat | nc 127.0.0.1 2181 這樣的指令,來與zk節點交互,獲取或者設置數據的指令
zk四字命令列表:
命令 | 示范 | 解釋 | |
---|---|---|---|
conf | echo conf | nc 127.0.0.1 2181 | 輸出相關服務配置的詳細信息。比如端口、zk數據及日志配置路徑、最大連接數,session超時時間、serverId等 |
cons | echo cons | nc 127.0.0.1 2181 | 列出所有連接到這臺服務器的客戶端連接/會話的詳細信息 包括“接受/發送”的包數量、session id 、操作延遲、最后的操作執行等信息 |
crst | echo crst | nc 127.0.0.1 2181 | 重置當前這臺服務器所有連接/會話的統計信息 |
dump | echo dump | nc 127.0.0.1 2181 | 列出未經處理的會話和臨時節點(只在leader上有效) |
envi | echo envi | nc 127.0.0.1 2181 | 輸出關于服務器的環境詳細信息(不同于conf命令),比如host.name、java.version、java.home、user.dir=/data/zookeeper-3.4.6/bin之類信息 |
ruok | echo ruok | nc 127.0.0.1 2181 | 測試服務是否處于正確運行狀態。如果正常返回"imok",否則返回空 |
srst | echo srst | nc 127.0.0.1 2181 | 重置服務器的統計信息 |
srvr | echo srvr | nc 127.0.0.1 2181 | (New in 3.3.0)輸出服務器的詳細信息。zk版本、接收/發送包數量、連接數、模式(leader/follower)、節點總數 |
stat | echo stat | nc 127.0.0.1 2181 | 輸出服務器的詳細信息:接收/發送包數量、連接數、模式(leader/follower)、節點總數、延遲。 所有客戶端的列表 |
wchs | echo wchs | nc 127.0.0.1 2181 | 列出服務器watches的簡潔信息:連接總數、watching節點總數和watches總數 |
wchc | echo wchc | nc 127.0.0.1 2181 | 通過session分組,列出watch的所有節點,它的輸出是一個與 watch 相關的會話的節點列表。如果watches數量很大的話,將會產生很大的開銷,會影響性能,小心使用 |
wchp | echo wchp | nc 127.0.0.1 2181 | 通過路徑分組,列出所有的 watch 的session id信息。它輸出一個與 session 相關的路徑。如果watches數量很大的話,將會產生很大的開銷,會影響性能,小心使用 |
mntr | echo mntr | nc 127.0.0.1 2181 | 列出集群的健康狀態。包括“接受/發送”的包數量、操作延遲、當前服務模式(leader/follower)、節點總數、watch總數、臨時節點總數 |
隨著ZooKeeper的官方Docker鏡像推出,大家也都紛紛按照官方介紹的那樣,用Docker來運行ZooKeeper,開始用著很爽,直到有人發現四字命令出問題:“輸了命令沒有響應”
百度谷歌各家論壇也沒有找到解決辦法,直到認真翻了一遍ZooKeeper的官方文檔:zookeeper-doc
才發現,使用Docker鏡像啟動的ZK容器,默認是沒有配置四字命令白名單列表的,說白了,你只有在這個docker容器內部才能使用四字命令,而到了宿主機上,則會被禁止掉,所以就會出現無響應這種問題
那么解決辦法也很簡單,我們可以利用volumes指令,在宿主機上配置好zk鏡像,再映射到容器中來啟動zk即可解決
具體操作辦法:
編寫配置文件zoo.cfg,并保存在./config目錄下,內容如下所示:
dataDir=/data dataLogDir=/datalog tickTime=2000 initLimit=5 syncLimit=2 autopurge.snapRetainCount=3 autopurge.purgeInterval=0 maxClientCnxns=60 standaloneEnabled=true admin.enableServer=true server.1=localhost:2888:3888;2181 4lw.commands.whitelist=*
編寫docker-compose,配置volumes,添加以下內容:
volumes: - ./config:/conf
啟動測試,解決
如果這篇文章沒有幫助您解決問題的話,歡迎來:docker-compose-zookeeper 發布issue
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75816.html
摘要:或許你的第一次微服務體驗,就從本文開始在本文中,和等紛紛亮相,并配有詳細的代碼說明。該角色與本地網絡及的配置設置相關。由于會在虛擬機初始化過程中自動執行配置任務,因此惟一的解決辦法就是將相關內容提取至單獨的劇本當中 這是一篇溫和有趣的技術文章,如果你初識Docker,對微服務充滿興趣,不妨一讀。或許你的第一次微服務體驗,就從本文開始…… 在本文中,Mesos、Zookeeper、Ma...
摘要:當企業的運維團隊去維護一個彈性的容器集群時,傳統的軟件部署方式需要向容器遷移,這個過程中需要有風險預判和規避之道。但是這樣會有些問題,就是大部分鏡像都是基于構建的,這會和樹莓派的很不兼容。多次嘗試后狀態被破壞刪庫重試,重啟大法好。 當前技術世界的發展形勢就是讓開發人員從繁瑣的應用配置和管理中解放出來,使用容器鏡像來處理復雜的程序運行依賴庫的需求,保證代碼運行環境的一致性。既然這樣的好處...
摘要:背景原來學習時我是在本地搭建的偽集群雖然說使用起來沒有什么問題但是總感覺部署起來有點麻煩剛好我發現了已經有了的鏡像了于是就嘗試了一下發現真是爽爆了幾個命令就可以搭建一個完整的集群下面我簡單記錄一下使用搭建集群的一些步驟鏡像下載上有不少鏡像不 背景 原來學習 ZK 時, 我是在本地搭建的偽集群, 雖然說使用起來沒有什么問題, 但是總感覺部署起來有點麻煩. 剛好我發現了 ZK 已經有了 D...
摘要:基本概念采用與相同的機制,只是運行在不同的抽象層次上。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括配置維護名字服務分布式同步組服務等。它是集群的分布式,能夠原樣運行任何二進制發布版本,如等等。部署為了部署的方便全部使用部署。 筋斗云 豈安運維工程師愛游泳、愛旅行、愛計算機。 前言 目前越來越多的互聯網企業開始使用 docker,在這之前,虛擬機占據著大部分的企業市場...
摘要:基本概念采用與相同的機制,只是運行在不同的抽象層次上。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括配置維護名字服務分布式同步組服務等。它是集群的分布式,能夠原樣運行任何二進制發布版本,如等等。部署為了部署的方便全部使用部署。 筋斗云 豈安運維工程師愛游泳、愛旅行、愛計算機。 前言 目前越來越多的互聯網企業開始使用 docker,在這之前,虛擬機占據著大部分的企業市場...
閱讀 2984·2021-09-10 10:50
閱讀 3188·2019-08-30 14:19
閱讀 3515·2019-08-29 17:31
閱讀 3241·2019-08-29 16:43
閱讀 2191·2019-08-29 14:05
閱讀 2088·2019-08-29 13:17
閱讀 2041·2019-08-26 13:25
閱讀 1756·2019-08-26 12:20