在 Linux 环境下监控 HDFS(Hadoop Distributed File System) 通常可以从命令行工具、Web UI、日志、JMX、第三方监控系统几个层面来做。下面按“由浅入深”的方式给你总结。
hdfs dfsadmin 命令hdfs dfsadmin -report
可查看:
其他常用:
hdfs dfsadmin -safemode get # 查看安全模式
hdfs dfsadmin -metasave file # 元数据信息
hdfs fsck 检查文件系统健康hdfs fsck /
重点看:
更详细:
hdfs fsck / -files -blocks -locations
jps
确认:
默认端口:
http://namenode-host:9870 # Hadoop 3.x
http://namenode-host:50070 # Hadoop 2.x
可看到:
http://datanode-host:9864
$HADOOP_HOME/logs/
重点日志:
hadoop-hdfs-namenode-*.loghadoop-hdfs-datanode-*.log常用查看:
tail -f hadoop-hdfs-namenode-master.log
grep ERROR hadoop-hdfs-datanode-*.log
HDFS 暴露 JMX(Java Management Extensions)指标。
http://namenode:9870/jmx
关键指标:
Hadoop:service=NameNode,name=FSNamesystem
Hadoop:service=NameNode,name=JvmMetrics可通过:
jmx_exporterhdfs dfsadmin -report✅ DataNode 掉线
✅ Missing Blocks > 0
✅ 磁盘使用率 > 85%
✅ NameNode 进入 SafeMode
✅ 副本数不足
✅ RPC 延迟过高
#!/bin/bash
hdfs dfsadmin -report | grep "Missing blocks"
if [ $? -eq 0 ]; then
echo "HDFS has missing blocks!" | mail -s "HDFS Alert" admin@xxx.com
fi
如果你愿意,我可以:
你目前是 测试环境还是生产集群?用的 Hadoop 几?