在 Linux 环境下监控 HDFS(Hadoop Distributed File System) 的运行状态,通常可以从 命令行工具、Web UI、日志、系统指标、第三方监控 几个层面来做。下面按“由浅入深”的方式说明。
hdfs dfsadmin -report
输出内容包括:
hdfs dfs -df -h
hdfs dfs -du -h /
hdfs haadmin -getServiceState nn1
hdfs haadmin -getServiceState nn2
(适用于 HA 模式)
hdfs dfsadmin -safemode get
访问:
http://namenode-host:9870
可以看到:
http://resourcemanager:8088
$HADOOP_HOME/logs/
常见日志:
hadoop-*-namenode-*.loghadoop-*-datanode-*.loghadoop-*-resourcemanager-*.log实时查看:
tail -f $HADOOP_HOME/logs/hadoop-*-datanode-*.log
重点关注:
jps
应看到:
df -h
iostat -x 1
netstat -tnlp | grep 9870
iftop
hdfs dfsadmin -report | grep "Dead datanodes" | grep -v "0" && \
echo "HDFS DataNode 异常" | mail -s "HDFS Alert" admin@xxx.com
| 指标 | 说明 |
|---|---|
| Live DataNodes | 存活节点数 |
| Capacity Used % | 容量使用率 |
| Under Replicated Blocks | 副本不足 |
| Missing Blocks | 丢失块(严重) |
| RPC Queue Time | NameNode 压力 |
| GC Time | JVM 健康 |
hdfs dfsadmin -report + Web UIjps如果你愿意,可以告诉我:
我可以给你一套可直接用的监控脚本或 Prometheus 配置。