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格式的作业状态数据,解析后存入数据库或发送告警。