成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

zookeeper基礎(chǔ)運(yùn)維詳解

IT那活兒 / 2847人閱讀
zookeeper基礎(chǔ)運(yùn)維詳解





  前 言  




ZooKeeper 是一個(gè)分布式應(yīng)用協(xié)調(diào)服務(wù),分布式應(yīng)用程序可以基于 ZooKeeper 實(shí)現(xiàn)諸如數(shù)據(jù)發(fā)布/訂閱、負(fù)載均衡、命名服務(wù)、分布式協(xié)調(diào)/通知、集群管理、Master 選舉、分布式鎖和分布式隊(duì)列等功能。





 組件服務(wù) 




zookeeper組件只有一個(gè)服務(wù)名字Server,安裝在多個(gè)節(jié)點(diǎn)組成集群使用(一般建議3或5個(gè)),zookeeper是一個(gè)java進(jìn)程,使用jps命令可以快速找出zk的進(jìn)程id。一般名為QuorumPeerMain。如果主機(jī)跑了多個(gè)zk,這里也會(huì)顯示多個(gè)QuorumPeerMain(但官方建議最好不要出現(xiàn)跑多個(gè)zk實(shí)例合用一個(gè)磁盤(pán)的情況,容易出現(xiàn)IO問(wèn)題)

使用ps -ef命令或find查看當(dāng)前服務(wù)器中存在的zk實(shí)例節(jié)點(diǎn)目錄,再通過(guò)dir/logs中最后一條log的最近時(shí)間來(lái)判斷此zk是不是當(dāng)前正在運(yùn)行的。最后通過(guò)查看conf/zoo.cfg的配置信息,查看此zk集群的規(guī)模(幾個(gè)節(jié)點(diǎn))、客戶(hù)端端口等信息來(lái)判斷出問(wèn)題的是否是此zk集群。





  日  志  




zk的三種日志:
zookeeper服務(wù)器會(huì)產(chǎn)生三類(lèi)日志:事務(wù)日志、快照日志和log4j日志。

在zookeeper默認(rèn)配置文件zoo.cfg(可以修改文件名)中有一個(gè)配置項(xiàng)dataDir,該配置項(xiàng)用于配置zookeeper快照日志和事務(wù)日志的存儲(chǔ)地址。在官方提供的默認(rèn)參考配置文件zoo_sample.cfg中,只有dataDir配置項(xiàng)。其實(shí)在實(shí)際應(yīng)用中,還可以為事務(wù)日志專(zhuān)門(mén)配置存儲(chǔ)地址,配置項(xiàng)名稱(chēng)為dataLogDir,在zoo_sample.cfg中并未體現(xiàn)出來(lái)。在沒(méi)有dataLogDir配置項(xiàng)的時(shí)候,zookeeper默認(rèn)將事務(wù)日志文件和快照日志文件都存儲(chǔ)在dataDir對(duì)應(yīng)的目錄下。建議將事務(wù)日志(dataLogDir)與快照日志(dataLog)多帶帶配置,因?yàn)楫?dāng)zookeeper集群進(jìn)行頻繁的數(shù)據(jù)讀寫(xiě)操作,會(huì)產(chǎn)生大量的事務(wù)日志信息,將兩類(lèi)日志分開(kāi)存儲(chǔ)會(huì)提高系統(tǒng)性能,而且,可以允許將兩類(lèi)日志存在在不同的存儲(chǔ)介質(zhì)上,減少磁盤(pán)壓力。log4j用于記錄zookeeper集群服務(wù)器運(yùn)行日志,該日志的配置地址在conf/目錄下的log4j.properties文件中,該文件中有一個(gè)配置項(xiàng)為“zookeeper.log.dir=.錯(cuò)誤! 超鏈接引用無(wú)效。” 時(shí),在該文件夾下會(huì)產(chǎn)生zookeeper.out日志文件。下面主要介紹事務(wù)日志與快照日志。


事務(wù)日志:

事務(wù)日志指zookeeper系統(tǒng)在正常運(yùn)行過(guò)程中,針對(duì)所有的更新操作,在返回客戶(hù)端“更新成功”的響應(yīng)前,zookeeper會(huì)保證已經(jīng)將本次更新操作的事務(wù)日志已經(jīng)寫(xiě)到磁盤(pán)上,只有這樣,整個(gè)更新操作才會(huì)生效。
快照日志:

zookeeper的數(shù)據(jù)在內(nèi)存中是以樹(shù)形結(jié)構(gòu)進(jìn)行存儲(chǔ)的,而快照就是每隔一段時(shí)間就會(huì)把整個(gè)DataTree的數(shù)據(jù)序列化后存儲(chǔ)在磁盤(pán)中,這就是zookeeper的快照文件。

zookeeper快照日志的存儲(chǔ)路徑同樣可以在zoo.cfg中查看,如上文截圖所示。訪(fǎng)問(wèn)dataDir路徑可以看到version-2文件夾:

從截圖中可以看出,zookeeper快照文件的命名規(guī)則為snapshot.**,其中**表示zookeeper觸發(fā)快照的那個(gè)瞬間,提交的最后一個(gè)事務(wù)的ID。

運(yùn)行日志:

log4j日志,服務(wù)的運(yùn)行日志。





配置詳解 




Clientport:客戶(hù)端連接端口
Ticktime:心跳時(shí)間(zk時(shí)間的基本單位,單位毫秒)
initLimit:zk啟動(dòng)的初始化時(shí)間,本例10表示10*Ticktime=4000毫秒
syncLimit:zk進(jìn)行sync同步的時(shí)間
maxClientCnxns:最大客戶(hù)端連接數(shù),0表示無(wú)顯示(此參數(shù)值為IP級(jí)別,默認(rèn)60
dataDir:zk快照數(shù)據(jù)目錄
dataLogDir:zk操作記錄數(shù)據(jù)目錄
Autopurge.* :表示快照及日志的保留策略,本例24小時(shí)和500個(gè)。
snapCount:表示進(jìn)行多少次update操作,進(jìn)行一次快照,默認(rèn)是100000


服務(wù)操作命令:

一旦確認(rèn)集群服務(wù)異常,就使用bin/zkServer.sh stop先在所有節(jié)點(diǎn)運(yùn)行停止zk集群服務(wù)(如果leader運(yùn)行正常,只重啟單個(gè)異常服務(wù)即可);

啟動(dòng)完成后,使用bin/zkServer.sh status查看是否角色是否正常(一個(gè)leader,多個(gè)follower)


zkCli.sh命令

使用bin/zkCli.sh命令可以進(jìn)入到zk-shell內(nèi)部進(jìn)行操作,直接操作zk的文件系統(tǒng)。

注意如果zk進(jìn)行了acl配置,直接zkCli.sh可能會(huì)進(jìn)入失敗,此時(shí)需使用zkCli.sh -server IP:port  命令進(jìn)入,ip:port為zk的服務(wù)地址和端口;

zk-shell內(nèi)部命令十分有限,合起來(lái)不到50個(gè),常用的有

create     創(chuàng)建znode

delete     刪除節(jié)點(diǎn)

connect  連接其他zk節(jié)點(diǎn)

addauth   添加認(rèn)證,通常添加用戶(hù)密碼認(rèn)證用這個(gè)

setAcl       添加acl認(rèn)證,通常添加ip白名單等

getAcl      查看路徑的權(quán)限情況

get         查看zk路徑中的具體值





監(jiān)控(4字命令)




zk的監(jiān)控主要采用自帶四字命令實(shí)現(xiàn),運(yùn)行方法有多種,基礎(chǔ)方法是

echo 【四字命令】 |nc  IP:port,如 echo mntr |nc localhost 2181

因服務(wù)器系統(tǒng)不同,有些可能沒(méi)有nc命令,可嘗試使用nc6、netcat等替換nc命令也可以。如以上命令都沒(méi)有又想查看,可直接使用telnet IP:port,然后在等待命令處直接輸入四字命令:(如下圖srvr即為我們輸入的四字命令)

常用四字命令有mntr、srvr、conf、cons、envi等,具體會(huì)根據(jù)zk版本不同有增減,新版支持的命令會(huì)更多。

監(jiān)控常使用mntr,運(yùn)行結(jié)果可監(jiān)控以下字段:

zk_outstanding_requests指標(biāo)(即zk連接排隊(duì)情況)使用監(jiān)控工具監(jiān)控文件中的值如果 >10則報(bào)警num_alive_connections存儲(chǔ)zk_num_alive_connections指標(biāo)(即當(dāng)前節(jié)點(diǎn)活動(dòng)的連接數(shù)),使用監(jiān)控工具監(jiān)控此文件中值如果>1500則報(bào)警

max_latency存儲(chǔ)當(dāng)前所有連接中的延遲最大的連接指標(biāo),當(dāng)延遲毫秒數(shù)超過(guò)10個(gè)ticktime=20000時(shí),進(jìn)行報(bào)警

具體的監(jiān)控指標(biāo)及方法一定是經(jīng)過(guò)業(yè)務(wù)的調(diào)試和反復(fù)測(cè)試后才能發(fā)揮應(yīng)有的效果的。


END


更多精彩干貨分享

點(diǎn)擊下方名片關(guān)注

IT那活兒

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/129926.html

相關(guān)文章

  • 從小白程序員一路晉升為大廠高級(jí)技術(shù)專(zhuān)家我看過(guò)哪些書(shū)籍?(建議收藏)

    摘要:大家好,我是冰河有句話(huà)叫做投資啥都不如投資自己的回報(bào)率高。馬上就十一國(guó)慶假期了,給小伙伴們分享下,從小白程序員到大廠高級(jí)技術(shù)專(zhuān)家我看過(guò)哪些技術(shù)類(lèi)書(shū)籍。 大家好,我是...

    sf_wangchong 評(píng)論0 收藏0
  • 必看!java后端,亮劍誅仙(最全知識(shí)點(diǎn))

    摘要:鑒于目前大多數(shù)服務(wù)器環(huán)境都是,提前接觸能夠相輔相成。正則也是必須要掌握的一個(gè)知識(shí)點(diǎn)。有多種創(chuàng)建多線(xiàn)程的方式,不過(guò)目前使用線(xiàn)程池的多一些。 原創(chuàng):小姐姐味道(微信公眾號(hào)ID:xjjdog),歡迎分享,轉(zhuǎn)載請(qǐng)保留出處。 你可能有所感悟。零散的資料讀了很多,但是很難有提升。到處是干貨,但是并沒(méi)什么用,簡(jiǎn)單來(lái)說(shuō)就是缺乏系統(tǒng)化。另外,噪音太多,雷同的框架一大把,我不至于全都要去學(xué)了吧。 這里,我...

    陳江龍 評(píng)論0 收藏0
  • Java學(xué)習(xí)必備書(shū)籍推薦終極版!

    摘要:實(shí)戰(zhàn)高并發(fā)程序設(shè)計(jì)推薦豆瓣評(píng)分書(shū)的質(zhì)量沒(méi)的說(shuō),推薦大家好好看一下。推薦,豆瓣評(píng)分,人評(píng)價(jià)本書(shū)介紹了在編程中條極具實(shí)用價(jià)值的經(jīng)驗(yàn)規(guī)則,這些經(jīng)驗(yàn)規(guī)則涵蓋了大多數(shù)開(kāi)發(fā)人員每天所面臨的問(wèn)題的解決方案。 很早就想把JavaGuide的書(shū)單更新一下了,昨晚加今天早上花了幾個(gè)時(shí)間對(duì)之前的書(shū)單進(jìn)行了分類(lèi)和補(bǔ)充完善。雖是終極版,但一定還有很多不錯(cuò)的 Java 書(shū)籍我沒(méi)有添加進(jìn)去,會(huì)繼續(xù)完善下去。希望這篇...

    Steve_Wang_ 評(píng)論0 收藏0
  • Dubbo Cloud Native 之路的實(shí)踐與思考

    摘要:可簡(jiǎn)單地認(rèn)為它是的擴(kuò)展,負(fù)載均衡自然成為不可或缺的特性。是基于開(kāi)發(fā)的服務(wù)代理組件,在使用場(chǎng)景中,它與和整合,打造具備服務(wù)動(dòng)態(tài)更新和負(fù)載均衡能力的服務(wù)網(wǎng)關(guān)。類(lèi)似的特性在項(xiàng)目也有體現(xiàn),它是另一種高性能代理的方案,提供服務(wù)發(fā)現(xiàn)健康和負(fù)載均衡。 摘要: Cloud Native 應(yīng)用架構(gòu)隨著云技術(shù)的發(fā)展受到業(yè)界特別重視和關(guān)注,尤其是 CNCF(Cloud Native Computing Fo...

    niceforbear 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<