我用ganglia监视hadoop。我选择度量"dfs.datanode.HeartbeatsAvgTime“来判断datanode (我指的是datanode服务,而不是主机)。不管有没有倒下。
当datanode正常工作时,"dfs.datanode.HeartbeatsAvgTime“仍然在变化。也就是说,图中的值是可变的。
看起来是这样的:

但是,在我停止datanode服务之后,图中的值将保持不变。
看起来是这样的:

第二个图中的值保持为unchanged.But,它的值不是0或无穷大。所以,我不能判断datanode服务是向上还是向下。
在处理其他度量时,情况也是一样的。
我已经检查了由ganglia使用的rrd,它用"rrdtool“存储度量数据。度量的值存储在*.rrd file.when中,我检查文件,我发现在停止datanode之后,有关度量的值也会被更新。但它的价值并不是很大。
我在rrd的官方网站上读到了有关rrd的参考资料。他们说,如果rrd没有收到之前设置的间隔之间的更新日期,rrd将在*.rrdfile中写入未知的内容。
我认为可能有两个原因引起这个问题。
但我并没有在github的github源代码中找到任何证据。
那么,您知道如何解决图中值保持不变的问题吗?或者您知道如何使用ganglia监视hadoop集群的其他细节吗?
@DaveStephens @Lorin Hochstein
发布于 2017-04-25 05:23:37
在我解决这个问题的斗争之后,我发现如果我们用hadoop度量设置dmax 2.属性,当hadoop崩溃时,ganglia将不会接收任何数据,并且返回未知。黑帮网站上的图表会消失。当ganglia + nagios时,nagios也将返回未知状态。这足以判断hadoop是向上还是向下。
dmax意味着在dmax时间之后,hadoop将销毁该度量。
https://stackoverflow.com/questions/43518412
复制相似问题