Ubuntu如何监控Hadoop集群状态

一、使用Hadoop自带工具

  • Web界面
    • NameNode:访问 http://:50070 查看HDFS状态。
    • ResourceManager:访问 http://:8088 监控资源分配和任务执行。
  • 命令行工具
    • hdfs dfsadmin -report:查看DataNode状态和HDFS健康状况。
    • yarn node -list:查看NodeManager节点状态。
    • jps:查看Hadoop进程是否正常运行。

二、第三方监控工具

  • Apache Ambari:支持HDFS、YARN等组件的集中监控,提供可视化界面。
  • Prometheus + Grafana:通过JMX接口采集指标,结合Grafana实现数据可视化。
  • Ganglia:适合大型集群,监控CPU、内存、网络等系统级指标。

三、日志与告警

  • 日志分析:查看Hadoop日志文件(位于$HADOOP_HOME/logs),使用tail -fgrep定位异常。
  • 告警机制:通过邮件、短信或集成ELK Stack(Elasticsearch+Logstash+Kibana)实现异常通知。

四、自定义监控脚本

编写脚本定期采集指标(如CPU、内存、磁盘使用率),输出到日志或监控系统,例如:

#!/bin/bash
echo "HDFS状态: $(hdfs dfsadmin -report | grep 'Live datanodes')" >> /var/log/hadoop_monitor.log
echo "YARN节点: $(yarn node -list)" >> /var/log/hadoop_monitor.log