用ambari安装了HDP版本的hadoop,dashboard中ganglia的CPU、内存、网络等监控没有数据,找了很多原因,最后发现是因为rrdcache的时间问题导致的。
gmetad的debug信息显示:
RRD_update (/var/lib/ganglia/rrds/__SummaryInfo__/bytes_in.rrd): /var/lib/ganglia/rrds/__SummaryInfo__/bytes_in.rrd: illegal attempt to update using time 1430889037 when last update time is 1761357924 (minimum one second step)
就是说上次更新cache的时间戳比现在还新(一开始系统的集群时间设置成2025年了,后来改成了2015年),所以RRD_update更新失败。
因此ganglia和ambari的web前端也就得不到任何的监控数据更新了。
解决方法很简单,就是把/var/lib/ganglia/rrds/目录下的内容全删掉。
然后从ambari WEB界面上重启ganglia server
#ps -ef|grep rrdcached
nobody 29610 1 6 14:15 ? 00:00:26 /usr/bin/rrdcached -p /var/run/ganglia/hdp/rrdcached.pid -m 664 -l unix:/var/run/ganglia/hdp/rrdcached.sock -m 777 -P FLUSH,STATS,HELP -l unix:/var/run/ganglia/hdp/rrdcached.limited.sock -b /var/lib/ganglia/rrds -B -t 4 -w 3600 -f 7200 -z 1800 -F