ganglia 监控hadoop 集群的配置文件问题的一个说明.

ganglia 是监控的hadoop 集群 的最佳系统. 

安装步骤就不写了. 比较简单.  


主要说下安装过程, hadoop 的metrics 的配置问题. 

hadoop-metrics2.properties  

如果采用默认配置,  一般情况下, 你会苦不堪言. 

主要问题是 默认的把所有的metrics 监控项 全部监控出来了. 

那么就带来了一个问题.  

每个任务, 会派生出 很多container  ,然后每个container 又有很多指标. 

因为一直忙着救火, 就没有 截图保留案底了. 


我统计一下 , 一个hadoo 节点  下面 关于container 的 rrd 文件就有11700+  

单个hadoop 节点 在一天内的监控数据 大于 7.5GB . 

到什么情况呢, 在ganglia 里面已经无法打开单个节点的监控页面了.  直接死了. 

同样的hbase 的 hadoop-metrics2-hbase.properties  中也会涉及到

regionserver 的问题. 每个节点 上有很多regions  ,然后每个region  都涉及到N多的metrics 监控项. 

然后导致rrd 文件暴涨.  效果跟前面一样. 烦死人. 


怎么解决呢?  查文档. 

在官方文档里找到了一点答案. 然后就开始各种演绎. 
Class Description
GlobFilter
A glob pattern filter for metrics.
RegexFilter
A regex pattern filter for metrics


正则表达. 

Fields inherited from class org.apache.hadoop.metrics2.filter.AbstractPatternFilter

EXCLUDE_KEY, EXCLUDE_TAGS_KEY, INCLUDE_KEY, INCLUDE_TAGS_KEY


通过正则表达 可以限制某些metrics 监控项的采集等等. 

到这里问题基本就解决了. 

我列出来我的配置的监控项做个示例: 
more  hadoop-metrics2-hbase.properties 

 hbase.sink.file-all.class=org.apache.hadoop.metrics2.sink.FileSink
 hbase.sink.file-all.filename=all.metrics
############################################################


*.period=10
*.sink.ganglia.period=10
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
*.source.filter.class=org.apache.hadoop.metrics2.filter.RegexFilter
*.record.filter.class=${*.source.filter.class}
*.metric.filter.class=${*.source.filter.class}
hbase.sink.ganglia.metric.filter.exclude=.*_(max|min|mean|median|percentile)
hbase.sink.ganglia.record.filter.exclude=Regions
hbase.sink.ganglia.source.filter.exclude=.*Regions.*
hbase.sink.ganglia.period=10
hbase.sink.ganglia.servers=gangliaserver:8649




more  hadoop-metrics2.properties 
################################################
*.period=10
*.sink.ganglia.period=10
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
*.source.filter.class=org.apache.hadoop.metrics2.filter.RegexFilter
*.record.filter.class=${*.source.filter.class}
*.metric.filter.class=${*.source.filter.class}
resourcemanager.sink.ganglia.metric.filter.exclude=.*_(max|min|mean|median|percentile)
resourcemanager.sink.ganglia.source.filter.exclude=.*_(container)*
resourcemanager.sink.ganglia.record.filter.exclude=container*
resourcemanager.sink.ganglia.source.filter.exclude=*.ontainerResource.*

nodemanager.sink.ganglia.metric.filter.exclude=.*_(max|min|mean|median|percentile)
nodemanager.sink.ganglia.source.filter.exclude=.*_(container)*
#nodeemanager.sink.ganglia.record.filter.exclude=*container.*
nodeemanager.sink.ganglia.record.filter.exclude=*container*
nodemanager.sink.ganglia.source.filter.exclude=*ontainerResource*
nodemanager.sink.ganglia.source.filter.exclude=*Containers*

mrappmaster.sink.ganglia.metric.filter.exclude=.*_(max|min|mean|median|percentile)
mrappmaster.sink.ganglia.source.filter.exclude=.*_(container)*
mrappmaster.sink.ganglia.record.filter.exclude=*container.*
mrappmaster.sink.ganglia.record.filter.exclude=*container*
mrappmaster.sink.ganglia.source.filter.exclude=*ontainerResource*

jobhistoryserver.sink.ganglia.metric.filter.exclude=.*_(max|min|mean|median|percentile)
jobhistoryserver.sink.ganglia.record.filter.exclude=*container.*
jobhistoryserver.sink.ganglia.record.filter.exclude=*container*
jobhistoryserver.sink.ganglia.source.filter.exclude=*ontainerResource*
##############################################################
............. 后面的关于server 的配置部分省略.....




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/133735/viewspace-2138975/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/133735/viewspace-2138975/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值