Hadoop在Linux环境下的监控方法
jps
:列出所有Java进程,确认NameNode、DataNode、ResourceManager、NodeManager等关键组件是否运行;hdfs dfsadmin -report
:生成HDFS详细状态报告,包含集群总容量、已用空间、剩余空间及各DataNode状态;yarn node -list
:列出YARN集群中所有NodeManager及其状态;yarn application -list
:查看当前正在运行的YARN应用程序。http://<namenode-host>:9870
(Hadoop 3.x,默认端口);http://<resourcemanager-host>:8088
;http://<datanode-host>:9864
(Hadoop 3.x)。这些界面可展示集群拓扑、节点状态、任务进度等信息。Hadoop组件的日志文件集中存储在$HADOOP_HOME/logs
目录下(如NameNode日志为hadoop-<user>-namenode-<hostname>.log
)。通过以下命令可实时追踪或搜索日志:
tail -f <log-file>
:实时查看日志输出,适合监控实时运行状态;grep "ERROR" <log-file>
:搜索特定关键字(如ERROR),快速定位故障。可根据需求编写Shell、Python等脚本,实现定制化监控。例如:
curl
命令获取Web UI数据(如NameNode状态:curl -s http://<namenode-host>:9870/dfshealth.html | grep "Healthy"
);hdfs dfsadmin -report
的结果),提取关键指标(如剩余空间);mail
命令或第三方告警工具)。脚本可定期运行(如通过cron
定时任务),实现自动化监控。YARN等组件支持通过JMX(Java Management Extensions)接口采集性能指标。需在Hadoop配置文件(如yarn-site.xml
)中开启JMX远程访问,设置端口(如yarn.nodemanager.jmx-port=9999
)和安全认证信息(如用户名/密码或SSL证书)。通过JConsole、VisualVM等工具或Prometheus的JMX Exporter,可远程采集JVM内存、线程、GC等指标,用于性能分析和优化。
使用Linux自带工具监控集群节点的基础资源使用情况:
top
/htop
:查看CPU、内存占用率及进程状态;iostat
:监控磁盘I/O性能(如读写速率、I/O等待时间);netstat
/ss
:查看网络连接状态(如端口监听、连接数);vmstat
:统计系统虚拟内存、进程、CPU活动等信息。这些工具可帮助排查资源瓶颈(如磁盘I/O过高导致的任务延迟)。