Ubuntu监控HDFS运行状态的方法
http://<namenode-ip>:50070
(Hadoop 2.x及以上版本)访问,提供HDFS的详细状态信息,包括数据块分布、副本数量、NameNode内存使用、DataNode列表及连接状态等,是监控HDFS核心功能的直接工具。http://<resourcemanager-ip>:8088
访问,主要用于监控YARN资源分配情况及正在运行的作业(如MapReduce、Spark任务),间接反映HDFS的负载情况(因YARN负责任务调度与资源管理)。hdfs dfsadmin -report
:核心命令之一,用于查看HDFS的健康状况和节点信息。输出内容包括集群基本信息(如HDFS容量、剩余空间)、DataNode列表(每个节点的IP、存储使用量、心跳状态)、NameNode状态(如是否处于安全模式)等,是日常巡检HDFS状态的必备工具。yarn node -list
:查看ResourceManager管理的NodeManager列表及其状态(如“RUNNING”“DEAD”),确认YARN节点是否正常运行(YARN是HDFS的资源调度框架,NodeManager状态直接影响HDFS任务执行)。yarn application -list
:查看集群中正在运行的YARN应用程序列表(包括作业ID、用户、队列、状态等),通过作业状态(如“RUNNING”“FINISHED”“FAILED”)可判断HDFS是否正常处理数据任务。可根据需求编写Shell、Python等脚本,定期采集HDFS状态指标(如通过hdfs dfsadmin -report
获取DataNode数量、通过yarn node -list
获取NodeManager状态),并将结果输出到日志文件或发送到监控系统(如Zabbix、Nagios)。例如,编写一个Shell脚本定时执行hdfs dfsadmin -report
,解析输出中的“Live datanodes”数量,若数量低于阈值则触发告警,实现简单的HDFS节点存活监控。
$HADOOP_HOME/logs
目录下(如NameNode.log
、DataNode.log
、ResourceManager.log
),使用tail -f
命令可实时查看日志输出,通过grep
命令搜索特定错误信息(如“ERROR”“Exception”),快速定位HDFS运行中的问题(如DataNode无法连接NameNode、块复制失败)。