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