这篇文章主要介绍“ganglia监控hadoop集群的配置文件问题分析”,在日常操作中,相信很多人在ganglia监控hadoop集群的配置文件问题分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ganglia监控hadoop集群的配置文件问题分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
创新互联长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为特克斯企业提供专业的成都网站设计、网站建设、外贸网站建设,特克斯网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。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 |
正则表达.
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*
##############################################################
到此,关于“ganglia监控hadoop集群的配置文件问题分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联-成都网站建设公司网站,小编会继续努力为大家带来更多实用的文章!