我使用神经节监视hadoop。我选择指标“dfs.datanode.HeartbeatsAvgTime”来判断datanode(我的意思是datanode服务,而不是主机)是否关闭。

当数据节点运行正常时,“dfs.datanode.HeartbeatsAvgTime”仍在更改。也就是说,图中的值是可变的。

看起来像这样:
hadoop - 神经节:停止hadoop datanode后神经节中的图形保持不变-LMLPHP

但是停止数据节点服务后,图中的值仍然保持不变。

看起来像这样:
hadoop - 神经节:停止hadoop datanode后神经节中的图形保持不变-LMLPHP

第二张图中的值保持不变,但不为0或无穷大。因此,我无法判断datanode服务是启动还是关闭。

处理其他指标时相同。

我已经检查了神经节使用的rrd,以“rrdtool fetch”存储度量数据。关于度量的值存储在* .rrd文件中。当我检查该文件时,发现在停止datanode之后,关于度量的值也将更新。但是,值(value)并不在变。

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

我认为可能有两个原因引起了这个问题。

gmetad未收到指标时的

  • 。它使用旧值更新rrd。因此该图与旧值保持不变。
  • ,当gmond无法收集指标时,它将旧值报告给gmetad。

  • 但是我在ganglia的github的源代码中并没有找到任何证据。

    那么您知道如何解决图形中的值保持不变的问题吗?还是您知道有关如何使用神经节监控hadoop集群的其他详细信息?

    @戴夫·斯蒂芬斯@洛林·霍希斯坦

    最佳答案

    在解决问题后,我发现如果在hadoop-metrics2.properties中设置指标的dmax,则当hadoop发生故障时,神经节将不会接收任何数据,并返回UNKNOW。神经节网站上的图表将消失。当神经节+ nagios时,nagios也将返回UNKNOW状态。足以判断hadoop是向上还是向下。

    dmax表示在dmax时间后,hadoop将破坏指标。

    10-06 06:29