码迷,mamicode.com
首页 > 其他好文 > 详细

0006-Zookeeper指标分析

时间:2018-11-15 19:39:09      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:通过   服务器   html   enc   sso   lock   doc   gif   latency   

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

1. 问题描述

通过CDH管理平台,进入Zookeeper管理界面,Zookeeper的平均请求延迟、最小请求延迟、最大请求延迟指标趋势图维持不变,指标数据异常。

2.问题复现

  • 登录CDH平台,进入Zookeeper管理页面,查看Zookeeper各服务器状态,页面如下:

技术分享图片

  • 查看如下指标

平均请求延迟、最小请求延迟、最大请求延迟三个指标维持不变,指标异常。

技术分享图片

技术分享图片

技术分享图片

3.问题分析

3.1 指标来源

  • 该指标是CDH通过ZookeeperJMX方式获取,具体参考Zookeeper官网

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

  • 通过命令方式获取Zookeeper指标信息

技术分享图片

通过以上分析可以判断指标数据非CDH计算得来,而是Zookeeper计算,排除CM问题;

3.2 分析Zookeeper源码

  • 命令行调用Zookeeper监控指标代码片段(MonitorCommand.java)

技术分享图片

通过查看源码,指标数据是通过ServerStats获取“请求延迟”指标

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

技术分享图片

ServerStats只提供了updateLatency方法来更新maxLatency和minLatency指标。

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

技术分享图片

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指标分析

标签:通过   服务器   html   enc   sso   lock   doc   gif   latency   

原文地址:http://blog.51cto.com/14049791/2317544

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!