我正在尝试用nagios监视hadoop集群。我的目标是监视所有hadoop守护程序(如datanode、jobtracker和tasktracker等)的状态和资源使用情况。我能想到的解决方案是监视这些守护程序正在使用的端口。但这似乎非常有限。例如,我看不到有多少任务正在节点中运行等。所以,我的问题是:是否有使用nagios的hadoop监控系统解决方案?谢谢,舒敏
1mrurvl11#
当然,有很多方法可以使用snmp监视hadoop集群。您应该在linux服务器上安装snmp包。另外,snmp必须在集群上启用,我想在某种基于web的管理控制台中有一个选项可以启用它。启用此选项后,您应该能够遍历群集:
snmpwalk -v 2c -c public <ip address cluster>
.. 然后您可以编写一个perl或bash脚本来检查您喜欢监视的某些oid。您可以将此脚本放置在“libexec”文件夹中,并在commands.cfg中为此脚本定义一个新命令,如check\u cluster\u snmp或其他您喜欢的命令。你也可以用jmx检查集群,但是我还不太了解jmx。
prdp8dxp2#
我找到了这个。它是一个nagios插件,用于监视hdfs。以下是nagiosexchange上所有与hadoop相关的插件。
c9x0cxw03#
最好的选择是使用jmx,因为它允许查看java进程以检查正在发生的事情,并提供度量(如黑名单节点、hdfs空间状态等)。您可以通过url从每个节点提取数据 http://node.domain:port/jmx?qry=*adoop 你可以看看这些相关的问题:https://stackoverflow.com/questions/16893407/are-there-advanced-http-query-parameters-for-jmx-proxy-tomcat-servlet有jmx-rest桥吗?
http://node.domain:port/jmx?qry=*adoop
3条答案
按热度按时间1mrurvl11#
当然,有很多方法可以使用snmp监视hadoop集群。您应该在linux服务器上安装snmp包。另外,snmp必须在集群上启用,我想在某种基于web的管理控制台中有一个选项可以启用它。
启用此选项后,您应该能够遍历群集:
.. 然后您可以编写一个perl或bash脚本来检查您喜欢监视的某些oid。您可以将此脚本放置在“libexec”文件夹中,并在commands.cfg中为此脚本定义一个新命令,如check\u cluster\u snmp或其他您喜欢的命令。
你也可以用jmx检查集群,但是我还不太了解jmx。
prdp8dxp2#
我找到了这个。它是一个nagios插件,用于监视hdfs。以下是nagiosexchange上所有与hadoop相关的插件。
c9x0cxw03#
最好的选择是使用jmx,因为它允许查看java进程以检查正在发生的事情,并提供度量(如黑名单节点、hdfs空间状态等)。
您可以通过url从每个节点提取数据
http://node.domain:port/jmx?qry=*adoop
你可以看看这些相关的问题:https://stackoverflow.com/questions/16893407/are-there-advanced-http-query-parameters-for-jmx-proxy-tomcat-servlet
有jmx-rest桥吗?