监控Ubuntu上的Hadoop集群可通过以下方式实现:
一、Hadoop自带工具
- Web UI:
- NameNode:访问
http://<namenode-ip>:9870(Hadoop 3.x)或 http://<namenode-ip>:50070(Hadoop 2.x),查看HDFS状态、存储使用情况。
- ResourceManager:访问
http://<resourcemanager-ip>:8088,监控集群资源分配、作业状态及历史记录。
- 命令行工具:
jps:查看Hadoop进程(NameNode、ResourceManager等)是否正常运行。
hdfs dfsadmin -report:获取HDFS集群的详细状态,包括DataNode信息。
yarn node -list/yarn application -list:查看节点状态或正在运行的作业。
二、第三方监控工具
- Apache Ambari:
提供集中式管理界面,支持监控HDFS、YARN、MapReduce等组件,支持告警配置。
- Ganglia + Grafana:
Ganglia监控集群性能指标(CPU、内存、网络等),Grafana用于数据可视化,适合大型集群。
- Prometheus + Grafana:
Prometheus通过JMX接口采集Hadoop指标,Grafana展示图表,支持自定义告警规则。
- Nagios:
通过插件监控Hadoop服务状态,需手动配置监控脚本。
三、自定义监控
- 编写脚本定期采集指标(如通过
curl获取Web UI数据),并输出到日志或监控系统。
- 结合ELK Stack(Elasticsearch+Logstash+Kibana)分析集群日志。
四、告警机制
- 配置Prometheus/Grafana的告警规则,通过邮件、短信等方式通知异常。
- 使用Nagios的告警功能,设置服务状态阈值。
根据集群规模和需求,可选择单一或组合方案,例如小型集群用自带工具+脚本,大型集群用Ambari+Prometheus+Grafana。