在 Linux 环境下对 Hadoop 进行监控,通常可以从 系统层、Hadoop 自身组件、第三方工具 三个层面来做。下面给你一个比较实用、可落地的方案。
Hadoop 各组件自带 Web 页面:
| 组件 | 默认端口 | 地址示例 |
|---|---|---|
| HDFS NameNode | 9870 | http://namenode:9870 |
| YARN ResourceManager | 8088 | http://rm:8088 |
| MapReduce JobHistory | 19888 | http://jobhistory:19888 |
| DataNode | 9864 | http://datanode:9864 |
可以查看:
# HDFS 状态
hdfs dfsadmin -report
# 查看安全模式
hdfs dfsadmin -safemode get
# YARN 节点
yarn node -list
# 正在运行的任务
yarn application -list
Hadoop 暴露了 JMX 指标:
http://namenode:9870/jmx
http://rm:8088/jmx
常用指标:
top
htop
free -h
df -h
iostat -x 1
netstat -tnlp
Hadoop 日志位置(默认):
$HADOOP_HOME/logs/
重点看:
tail -f hadoop-*-namenode-*.log
grep ERROR hadoop-*.log
架构:
Hadoop JMX → JMX Exporter → Prometheus → Grafana
步骤简版:
jmx_exporterhadoop-env.shexport HADOOP_NAMENODE_OPTS="-javaagent:/path/jmx_prometheus.jar=9103:/path/namenode.yml"
✅ 优点:实时、图形化、可告警
适合:
至少监控以下项:
✅ 入门
✅ 生产
如果你愿意,我可以:
你现在是 学习环境还是生产集群?