国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

zookeeper基礎運維詳解

IT那活兒 / 2828人閱讀
zookeeper基礎運維詳解





  前 言  




ZooKeeper 是一個分布式應用協調服務,分布式應用程序可以基于 ZooKeeper 實現諸如數據發布/訂閱、負載均衡、命名服務、分布式協調/通知、集群管理、Master 選舉、分布式鎖和分布式隊列等功能。





 組件服務 




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

使用ps -ef命令或find查看當前服務器中存在的zk實例節點目錄,再通過dir/logs中最后一條log的最近時間來判斷此zk是不是當前正在運行的。最后通過查看conf/zoo.cfg的配置信息,查看此zk集群的規模(幾個節點)、客戶端端口等信息來判斷出問題的是否是此zk集群。





  日  志  




zk的三種日志:
zookeeper服務器會產生三類日志:事務日志、快照日志和log4j日志。

在zookeeper默認配置文件zoo.cfg(可以修改文件名)中有一個配置項dataDir,該配置項用于配置zookeeper快照日志和事務日志的存儲地址。在官方提供的默認參考配置文件zoo_sample.cfg中,只有dataDir配置項。其實在實際應用中,還可以為事務日志專門配置存儲地址,配置項名稱為dataLogDir,在zoo_sample.cfg中并未體現出來。在沒有dataLogDir配置項的時候,zookeeper默認將事務日志文件和快照日志文件都存儲在dataDir對應的目錄下。建議將事務日志(dataLogDir)與快照日志(dataLog)多帶帶配置,因為當zookeeper集群進行頻繁的數據讀寫操作,會產生大量的事務日志信息,將兩類日志分開存儲會提高系統性能,而且,可以允許將兩類日志存在在不同的存儲介質上,減少磁盤壓力。log4j用于記錄zookeeper集群服務器運行日志,該日志的配置地址在conf/目錄下的log4j.properties文件中,該文件中有一個配置項為“zookeeper.log.dir=.錯誤! 超鏈接引用無效?!?/span> 時,在該文件夾下會產生zookeeper.out日志文件。下面主要介紹事務日志與快照日志。


事務日志:

事務日志指zookeeper系統在正常運行過程中,針對所有的更新操作,在返回客戶端“更新成功”的響應前,zookeeper會保證已經將本次更新操作的事務日志已經寫到磁盤上,只有這樣,整個更新操作才會生效。
快照日志:

zookeeper的數據在內存中是以樹形結構進行存儲的,而快照就是每隔一段時間就會把整個DataTree的數據序列化后存儲在磁盤中,這就是zookeeper的快照文件。

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

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

運行日志:

log4j日志,服務的運行日志。





配置詳解 




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


服務操作命令:

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

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


zkCli.sh命令

使用bin/zkCli.sh命令可以進入到zk-shell內部進行操作,直接操作zk的文件系統。

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

zk-shell內部命令十分有限,合起來不到50個,常用的有

create     創建znode

delete     刪除節點

connect  連接其他zk節點

addauth   添加認證,通常添加用戶密碼認證用這個

setAcl       添加acl認證,通常添加ip白名單等

getAcl      查看路徑的權限情況

get         查看zk路徑中的具體值





監控(4字命令)




zk的監控主要采用自帶四字命令實現,運行方法有多種,基礎方法是

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

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

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

監控常使用mntr,運行結果可監控以下字段:

zk_outstanding_requests指標(即zk連接排隊情況)使用監控工具監控文件中的值如果 >10則報警num_alive_connections存儲zk_num_alive_connections指標(即當前節點活動的連接數),使用監控工具監控此文件中值如果>1500則報警

max_latency存儲當前所有連接中的延遲最大的連接指標,當延遲毫秒數超過10個ticktime=20000時,進行報警

具體的監控指標及方法一定是經過業務的調試和反復測試后才能發揮應有的效果的。


END


更多精彩干貨分享

點擊下方名片關注

IT那活兒

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129926.html

相關文章

  • 從小白程序員一路晉升為大廠高級技術專家我看過哪些書籍?(建議收藏)

    摘要:大家好,我是冰河有句話叫做投資啥都不如投資自己的回報率高。馬上就十一國慶假期了,給小伙伴們分享下,從小白程序員到大廠高級技術專家我看過哪些技術類書籍。 大家好,我是...

    sf_wangchong 評論0 收藏0
  • 必看!java后端,亮劍誅仙(最全知識點)

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

    陳江龍 評論0 收藏0
  • Java學習必備書籍推薦終極版!

    摘要:實戰高并發程序設計推薦豆瓣評分書的質量沒的說,推薦大家好好看一下。推薦,豆瓣評分,人評價本書介紹了在編程中條極具實用價值的經驗規則,這些經驗規則涵蓋了大多數開發人員每天所面臨的問題的解決方案。 很早就想把JavaGuide的書單更新一下了,昨晚加今天早上花了幾個時間對之前的書單進行了分類和補充完善。雖是終極版,但一定還有很多不錯的 Java 書籍我沒有添加進去,會繼續完善下去。希望這篇...

    Steve_Wang_ 評論0 收藏0
  • Dubbo Cloud Native 之路的實踐與思考

    摘要:可簡單地認為它是的擴展,負載均衡自然成為不可或缺的特性。是基于開發的服務代理組件,在使用場景中,它與和整合,打造具備服務動態更新和負載均衡能力的服務網關。類似的特性在項目也有體現,它是另一種高性能代理的方案,提供服務發現健康和負載均衡。 摘要: Cloud Native 應用架構隨著云技術的發展受到業界特別重視和關注,尤其是 CNCF(Cloud Native Computing Fo...

    niceforbear 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<