監控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。