在 Linux 环境下监控 HDFS(Hadoop Distributed File System),通常有命令行监控、Web UI 监控、JMX/Metrics 监控、第三方工具监控几种方式。下面按常用程度给你系统梳理一下。
hdfs dfsadmin 命令查看 HDFS 整体状态:
hdfs dfsadmin -report
输出内容包括:
查看安全模式:
hdfs dfsadmin -safemode get
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-env.sh 中配置:
export HADOOP_NAMENODE_OPTS="-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=9999 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false"
然后可用:
jconsolevisualvmHadoop 支持输出到:
示例(Prometheus):
namenode.metrics.hostname=0.0.0.0
namenode.metrics.port=9200
$HADOOP_HOME/logs/
关键日志:
hadoop-*-namenode-*.loghadoop-*-datanode-*.log实时监控:
tail -f $HADOOP_HOME/logs/hadoop-*-namenode-*.log
| 工具 | 用途 |
|---|---|
| Prometheus + Grafana | 指标可视化 |
| Zabbix | 主机 + 进程监控 |
| ELK | 日志分析 |
| Ambari / Cloudera Manager | 集群统一管理 |
示例(Zabbix):
hdfs dfsadmin -report 输出✅ DataNode 掉线
✅ 副本不足(Under-replicated blocks)
✅ Missing/Corrupt blocks
✅ NameNode 内存使用
✅ 磁盘空间不足
如果你愿意,可以告诉我:
我可以给你一份可直接用的监控方案或脚本。