溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Docker容器中的ZooKeeper不響應(yīng)四字命令的解決方法

發(fā)布時(shí)間:2021-09-09 12:51:43 來源:億速云 閱讀:159 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要介紹“Docker容器中的ZooKeeper不響應(yīng)四字命令的解決方法”,在日常操作中,相信很多人在Docker容器中的ZooKeeper不響應(yīng)四字命令的解決方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Docker容器中的ZooKeeper不響應(yīng)四字命令的解決方法”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!


ZK四字命令

四字命令其實(shí)就是通過類似 echo stat | nc 127.0.0.1 2181 這樣的指令,來與zk節(jié)點(diǎn)交互,獲取或者設(shè)置數(shù)據(jù)的指令

zk四字命令列表:

命令示范解釋
confecho conf | nc 127.0.0.1 2181輸出相關(guān)服務(wù)配置的詳細(xì)信息。比如端口、zk數(shù)據(jù)及日志配置路徑、最大連接數(shù),session超時(shí)時(shí)間、serverId等
consecho cons | nc 127.0.0.1 2181列出所有連接到這臺服務(wù)器的客戶端連接/會話的詳細(xì)信息 包括“接受/發(fā)送”的包數(shù)量、session id 、操作延遲、最后的操作執(zhí)行等信息
crstecho crst | nc 127.0.0.1 2181重置當(dāng)前這臺服務(wù)器所有連接/會話的統(tǒng)計(jì)信息
dumpecho dump | nc 127.0.0.1 2181列出未經(jīng)處理的會話和臨時(shí)節(jié)點(diǎn)(只在leader上有效)
enviecho 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之類信息
ruokecho ruok | nc 127.0.0.1 2181測試服務(wù)是否處于正確運(yùn)行狀態(tài)。如果正常返回"imok",否則返回空
srstecho srst | nc 127.0.0.1 2181重置服務(wù)器的統(tǒng)計(jì)信息
srvrecho srvr | nc 127.0.0.1 2181(New in 3.3.0)輸出服務(wù)器的詳細(xì)信息。zk版本、接收/發(fā)送包數(shù)量、連接數(shù)、模式(leader/follower)、節(jié)點(diǎn)總數(shù)
statecho stat | nc 127.0.0.1 2181輸出服務(wù)器的詳細(xì)信息:接收/發(fā)送包數(shù)量、連接數(shù)、模式(leader/follower)、節(jié)點(diǎn)總數(shù)、延遲。 所有客戶端的列表
wchsecho wchs | nc 127.0.0.1 2181列出服務(wù)器watches的簡潔信息:連接總數(shù)、watching節(jié)點(diǎn)總數(shù)和watches總數(shù)
wchcecho wchc | nc 127.0.0.1 2181通過session分組,列出watch的所有節(jié)點(diǎn),它的輸出是一個與 watch 相關(guān)的會話的節(jié)點(diǎn)列表。如果watches數(shù)量很大的話,將會產(chǎn)生很大的開銷,會影響性能,小心使用
wchpecho wchp | nc 127.0.0.1 2181通過路徑分組,列出所有的 watch 的session id信息。它輸出一個與 session 相關(guān)的路徑。如果watches數(shù)量很大的話,將會產(chǎn)生很大的開銷,會影響性能,小心使用
mntrecho 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ù)

Docker容器中的ZooKeeper不響應(yīng)四字命令

隨著ZooKeeper的官方Docker鏡像推出,大家也都紛紛按照官方介紹的那樣,用Docker來運(yùn)行ZooKeeper,開始用著很爽,直到有人發(fā)現(xiàn)四字命令出問題:“輸了命令沒有響應(yīng)”

百度谷歌各家論壇也沒有找到解決辦法,直到認(rèn)真翻了一遍ZooKeeper的官方文檔:zookeeper-doc

才發(fā)現(xiàn),使用Docker鏡像啟動的ZK容器,默認(rèn)是沒有配置四字命令白名單列表的,說白了,你只有在這個docker容器內(nèi)部才能使用四字命令,而到了宿主機(jī)上,則會被禁止掉,所以就會出現(xiàn)無響應(yīng)這種問題

那么解決辦法也很簡單,我們可以利用volumes指令,在宿主機(jī)上配置好zk鏡像,再映射到容器中來啟動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
  • 啟動測試,解決

到此,關(guān)于“Docker容器中的ZooKeeper不響應(yīng)四字命令的解決方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI