我正在尝试使用 Nagios 监控 Hadoop 集群。我的目标是监控所有 Hadoop 守护进程(如 DataNode、Jobtracker 和 Tasktracker 等)的状态和资源使用情况。我能想到的解决方案是监控这些守护进程正在使用的端口。但这似乎非常有限。例如,我看不到节点中有多少任务正在运行等。
所以,我的问题是:是否有使用 Nagios 进行 Hadoop 监控的系统解决方案?
谢谢,
舒敏
我正在尝试使用 Nagios 监控 Hadoop 集群。我的目标是监控所有 Hadoop 守护进程(如 DataNode、Jobtracker 和 Tasktracker 等)的状态和资源使用情况。我能想到的解决方案是监控这些守护进程正在使用的端口。但这似乎非常有限。例如,我看不到节点中有多少任务正在运行等。
所以,我的问题是:是否有使用 Nagios 进行 Hadoop 监控的系统解决方案?
谢谢,
舒敏
当然有一些方法可以使用 SNMP 监控 Hadoop 集群。您应该在 Linux 服务器上安装软件包 snmp。还必须在集群上启用 SNMP,我想有一个选项可以在某种基于 Web 的管理控制台中启用它。
启用此功能后,您应该能够 snmpwalk 集群:
snmpwalk -v 2c -c public <ip address cluster>
.. 比您可以编写 perl 或 bash 脚本来检查您喜欢监视的某些 OID。您可以将此脚本放在您的“libexec”文件夹中,并在 commands.cfg 中为该脚本定义一个新命令,例如 check_cluster_snmp 或您喜欢的其他命令。
您也可以使用 JMX 检查集群,但我对 JMX 还不太了解。
最好的选择是使用 JMX,因为它允许查看 Java 进程以检查正在发生的事情,并提供指标(如列入黑名单的节点、hdfs 空间状态等)。
您可以通过 URL 从每个节点中提取数据http://node.domain:port/jmx?qry=*adoop
你可以看看这些相关的问题: