0006-Zookeeper指標分析

溫馨提示:要看高清無碼套圖,請使用手機打開並單擊圖片放大查看。

1. 問題描述

通過CDH管理平臺,進入Zookeeper管理界面,Zookeeper的平均請求延遲、最小請求延遲、最大請求延遲指標趨勢圖維持不變,指標數據異常。

2.問題復現

  • 登錄CDH平臺,進入Zookeeper管理頁面,查看Zookeeper各服務器狀態,頁面如下:

0006-Zookeeper指標分析

  • 查看如下指標

平均請求延遲、最小請求延遲、最大請求延遲三個指標維持不變,指標異常。

0006-Zookeeper指標分析

0006-Zookeeper指標分析

0006-Zookeeper指標分析

3.問題分析

3.1 指標來源

  • 該指標是CDH通過ZookeeperJMX方式獲取,具體參考Zookeeper官網

http://zookeeper.apache.org/doc/r3.5.3-beta/zookeeperJMX.html#ch\_jmx

  • 通過命令方式獲取Zookeeper指標信息

0006-Zookeeper指標分析

通過以上分析可以判斷指標數據非CDH計算得來,而是Zookeeper計算,排除CM問題;

3.2 分析Zookeeper源碼

  • 命令行調用Zookeeper監控指標代碼片段(MonitorCommand.java)

0006-Zookeeper指標分析

通過查看源碼,指標數據是通過ServerStats獲取“請求延遲”指標

  • 分析ServerStats代碼,代碼片段(ServerStats.java)

0006-Zookeeper指標分析

ServerStats只提供了updateLatency方法來更新maxLatency和minLatency指標。

  • 調用更新ServerStats方法代碼片段如下:(FinalRequestProcessor.java)

0006-Zookeeper指標分析

3.3 異常指標分析

通過分析代碼,maxLatency和minLatency指標數據在Zookeeper服務器啓動記錄每次Request的指標數據;

在獲取Zookeeper服務器的的maxLatency和minLatency指標記錄服務器所有請求中最大請求延遲和最小請求延遲;

  • 最大請求延遲指標

Zookeeper服務器1,在通過A請求更新ServerStats的maxLatency的指標值爲100ms,在之後所有請求均未超過maxLatency爲100ms的值。CDH平臺每次獲取Zookeeper服務器1的maxLatency指標時均爲100ms,因此導致文章開頭CDH平臺Zookeeper的maxLatency指標維持不變“異常”。

  • 最小請求延遲指標

Zookeeper服務器1,在通過A請求後更新ServerStats的minLatency的指標值爲0ms,在之後所有請求均未小於minLatency爲0ms的值。CDH平臺每次獲取Zookeeper服務器1的minLatency指標時均爲0ms,因此導致文章開頭CDH平臺Zookeeper的minLatency指標爲0ms維持不變的“異常”。

  • 平均請求延遲指標

Zookeeper服務器1累計所有請求的延遲時間(totalLatency),累計總共請求次數(count),通過totalLatency/count獲取avgLatency指標。至於avgLatency指標持續維持爲0ms,由於totalLatency <count導致。

由此推斷多次請求Latency的延遲爲0ms。

醉酒鞭名馬,少年多浮誇! 嶺南浣溪沙,嘔吐酒肆下!摯友不肯放,數據玩的花!
溫馨提示:要看高清無碼套圖,請使用手機打開並單擊圖片放大查看。
0006-Zookeeper指標分析

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章