在 CentOS 上监控 HDFS(Hadoop Distributed File System),可以从系统层、Hadoop 自带工具、Web UI、第三方监控几个层面来做。下面按常用程度给你一个清晰方案。
Hadoop 自带 Web 监控页面:
http://namenode-host:9870
(Hadoop 3.x,2.x 是 50070)可查看:
在 CentOS 终端执行:
hdfs dfsadmin -report
常见信息:
其他命令:
hdfs fsck / -files -blocks
jps
确认:
netstat -tunlp | grep java
top
free -h
df -h
iostat -x 1
/var/log/hadoop-hdfs/
重点看:
hadoop-hdfs-namenode-*.loghadoop-hdfs-datanode-*.log实时查看:
tail -f /var/log/hadoop-hdfs/hadoop-hdfs-namenode-*.log
在 hadoop-env.sh 中:
export HADOOP_NAMENODE_OPTS="-Dcom.sun.management.jmxremote"
然后用:
jconsole
或
prometheus + jmx_exporter
jmx_exporter 采集 HDFS 指标监控指标包括:
hdfs dfsadmin -reporthdfs dfsadmin -report | grep "Dead datanodes" | awk '{print $3}'
如果你愿意,可以告诉我:
我可以直接给你可落地的监控配置方案。