线上Hadoop集群使用ganglia监控非常方便集成,不过gangliagmetad节点存在High IO问题;ganglia是使用rrd来存储数据的,这样的话监控一个稍微上规模的集群每次更新rrd也会产生大量的离散IO,造成磁盘100% busy

好在使用的rrdtool1.4.x版本,支持rrdcached,其原理细节:http://linux.die.net/man/1/rrdcached,基本思想就是在内存中合并更新,批量写磁盘;

安装起来也十分简单:修改 default_config.php/gmetad 启动文件,添加一个 rrdcached init 文件就可以跑了;效果非常明显,原来是经常 100% 的磁盘使用后不到 10% ,疗效显著!