2017-04-20 35 views
0

我使用神经节来监视hadoop。我选择度量“dfs.datanode.HeartbeatsAvgTime”来判断datanode(我的意思是datanode服务,而不是主机)是否关闭。神经节:我停止hadoop datanode后神经节remians图不变

当datanode工作正常时,“dfs.datanode.HeartbeatsAvgTime”保持更改。也就是说,图中的值是变化的。

它看起来像这样: graph that is varing

但之后,我停止了数据节点的服务,在图表中的值保持不变。

它看起来像这样: enter image description here

在第二图中的值保持unchanged.But的值不为0或无穷大。所以,我不能判断datanode服务已经启动或关闭。

处理其他指标时也是如此。

我检查了rrd,ganglia使用rrdtool fetch来存储度量数据。关于度量的值存储在一个* .rrd文件中。当我检查文件时,我发现停止datanode之后,关于度量的值也被更新。但价值并没有变化。

我在rrd的官方网站上阅读了有关rrd的参考资料。他们说,如果rrd在之前设置的时间间隔之间没有收到更新日期,则在* .rrdfile中将rrd写入UNKNOWN。

我认为可能有两个原因引发问题。

  1. 当gmetad没有收到指标。它用旧值更新rrd。所以图保持与旧值相同。
  2. 当gmond无法收集指标时,它会将旧值报告给gmetad。

但我没有真的在神经节的github源代码中找到任何证据。

那么你知道如何解决图中的值保持不变的问题吗?或者你知道关于如何监控hadoop cluster with ganglia的其他细节吗?

@DaveStephens @Lorin霍克斯坦

+0

@Lorin Hochstein – Doone

回答

0

后,我的斗争来解决这个问题,我发现,如果我们设置在hadoop-metrics2.properties度量,Dmax的时候Hadoop的分解,神经节将不会收到任何数据,并返回UNKNOW。神经节网站中的图形将消失。当ganglia + nagios时,nagios也会返回UNKNOW状态。这足以判断hadoop是上升还是下降。

dmax表示经过dmax时间后,hadoop会破坏度量。