在 CentOS 上监控 HDFS(Hadoop Distributed File System),可以从 命令行、Web UI、JMX、系统级监控、第三方工具 等多个层面来做。下面按常用方式给你一个完整说明。
hdfs dfsadmin -report
✅ 能看:
示例:
Live datanodes (3):
Name: 192.168.1.10:9866
Capacity: 500GB
Used: 120GB
hdfs dfs -df -h
hdfs dfs -du -h /
hdfs fsck / -files -blocks -locations
常用参数:
hdfs fsck / -count
默认端口:
500709870访问:
http://namenode_ip:9870
可查看:
http://datanode_ip:9864
http://namenode_ip:9870/jmx
关键指标:
Hadoop:service=NameNode,name=FSNamesystem
http://datanode_ip:9864/jmx
✅ 适合接入 Prometheus / Zabbix / Grafana
即使 HDFS 正常,系统问题也会导致故障。
df -h
iostat -x 1
重点目录:
dfs.namenode.name.dirdfs.datanode.data.dirjps
常见进程:
ss -lntp | grep java
监控内容:
hdfs dfsadmin -reportjmx| 指标 | 建议阈值 |
|---|---|
| HDFS 使用率 | > 80% |
| UnderReplicatedBlocks | > 0 |
| DataNode 数 | 少于预期 |
| NameNode 进程 | 不存在 |
| 磁盘使用率 | > 85% |
#!/bin/bash
ALERT=80
USED=$(hdfs dfs -df | awk 'NR==2{print $5}' | tr -d '%')
if [ "$USED" -gt "$ALERT" ]; then
echo "HDFS usage over $ALERT%"
fi
✅ 日常:
hdfs dfsadmin -report✅ 生产环境:
如果你愿意,我可以:
你是 测试环境还是生产环境?Hadoop 几.x?