获取hdfs_生产大数据集群资源监控--HDFS指标获取(含code)

本篇文章接着上篇内容继续,地址:生产大数据集群资源监控--指标获取(含code)

在获取了对应的IDC机器自身的指标之后,还需要对Hadoop集群中HDFS和YARN的指标进行采集,大体思路上可以有2种:

  • 第一种当然还是可以延用CM API去获取,因为CM中的tssql提供了非常丰富的各种指标监控。
  • 第二种即通过jmx去获取数据,其实就是通过访问上述这些相关的URL,然后将得到的json进行解析,从而获取到我们需要的数据,最终将这些数据归并到一起,定时的去执行采集操作。

在实际的实践过程当中使用jmx这种方式去进行获取,涉及到的url请求如下:

  • http://ruozedata001:50070/jmx?qry=Hadoop:service=NameNode,name=NameNodeInfo
  • http://ruozedata001:50070/jmx?qry=Hadoop:service=NameNode,name=FSNamesystemState

具体的代码实现思路如下:

首先需要有个httpclient,去向server发起请求,从而获得对应的json数据,这里自己编写了StatefulHttpClient 其次使用JsonUtil该工具类,用于Json类型的数据与对象之间的转换 当然,我们也需要将所需要获取的监控指标给梳理出来,编写我们的entity。

MonitorMetrics.java:

d9b52ff3bc3f6b7a1d5b4ac420786181.png

HadoopUtil.java:

865c0af5eb116d9b250db1c8b939fa6c.png
90a2aac078591295b27cf29987f6f49d.png

MonitorApp.java:

f46f0b6b30c03a8f3dc5b29e5c70ea67.png

最终展示结果如下:

ec8cf7cb3274bf741b90992e76850334.png

这里以HDFS为例,主要为HdfsSummary和DataNodeInfo 本案例的代码在github上,地址:Hadoop monitor 这里主要展示核心的代码:

https://github.com/lemonahit/DailyProject/tree/master/Monitor

关于YARN指标的获取,思路类似,这里就不再展示了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值