您好,登錄后才能下訂單哦!
這篇文章主要介紹“Docker容器中的ZooKeeper不響應(yīng)四字命令的解決方法”,在日常操作中,相信很多人在Docker容器中的ZooKeeper不響應(yīng)四字命令的解決方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Docker容器中的ZooKeeper不響應(yīng)四字命令的解決方法”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
四字命令其實(shí)就是通過類似 echo stat | nc 127.0.0.1 2181
這樣的指令,來與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 | 列出所有連接到這臺服務(wù)器的客戶端連接/會話的詳細(xì)信息 包括“接受/發(fā)送”的包數(shù)量、session id 、操作延遲、最后的操作執(zhí)行等信息 |
crst | echo crst | nc 127.0.0.1 2181 | 重置當(dāng)前這臺服務(wù)器所有連接/會話的統(tǒng)計(jì)信息 |
dump | echo dump | nc 127.0.0.1 2181 | 列出未經(jīng)處理的會話和臨時(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 | 測試服務(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的簡潔信息:連接總數(shù)、watching節(jié)點(diǎn)總數(shù)和watches總數(shù) |
wchc | echo wchc | nc 127.0.0.1 2181 | 通過session分組,列出watch的所有節(jié)點(diǎn),它的輸出是一個與 watch 相關(guān)的會話的節(jié)點(diǎn)列表。如果watches數(shù)量很大的話,將會產(chǎn)生很大的開銷,會影響性能,小心使用 |
wchp | echo wchp | nc 127.0.0.1 2181 | 通過路徑分組,列出所有的 watch 的session id信息。它輸出一個與 session 相關(guān)的路徑。如果watches數(shù)量很大的話,將會產(chǎn)生很大的開銷,會影響性能,小心使用 |
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來運(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í)用的文章!
免責(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)容。