Hadoop任務在Ubuntu上的監控方法
Hadoop提供了基礎的Web界面和命令行工具,適合快速查看集群狀態:
http://namenode-IP:50070)、ResourceManager(默認http://resourcemanager-IP:8088)的Web界面,直觀查看HDFS文件系統狀態、YARN資源分配及作業進度。hdfs dfsadmin -report查看HDFS節點健康狀況、yarn node -list查看NodeManager列表、yarn application -list查看運行中的作業、yarn logs -applicationId <ID>查看指定作業的日志。針對大規模集群或需要高級功能的場景,可選擇以下工具:
結合Linux原生工具,可監控Hadoop集群的基礎資源使用情況:
available值,反映系統可用內存)。sar -r查看內存變化。通過JMX(Java Management Extensions)采集Hadoop組件的詳細性能指標(如JVM堆內存、GC次數、線程數):
yarn-site.xml),開啟JMX遠程訪問(設置yarn.nodemanager.jmx-port參數),并配置安全認證(如SSL)。Hadoop日志是排查問題的關鍵,主要日志文件位于$HADOOP_HOME/logs目錄(如NameNode日志hadoop-<user>-namenode-<hostname>.log、YARN ResourceManager日志yarn-<user>-resourcemanager-<hostname>.log):
tail -f <log-file>命令動態查看日志內容。grep命令查找特定錯誤(如grep -i "error" <log-file>)或警告信息,快速定位問題。通過編寫腳本(如Shell、Python),定期采集集群指標并觸發告警:
hdfs dfsadmin -report獲取DataNode數量,判斷是否低于閾值;使用yarn application -list獲取運行中作業的數量,若超過閾值則發送郵件告警。/ws/v1/cluster/apps接口),使用pycurl庫獲取JSON格式的作業狀態數據,解析后存入數據庫或發送告警。