温馨提示×

linux hadoop如何监控状态

小樊
38
2026-08-25 01:20:32
栏目: 智能运维

在 Linux 环境下监控 Hadoop 集群状态,通常可以从 Web UI、命令行、日志、JMX、第三方工具 等多个层面进行。下面按常用方式系统说明。


一、Hadoop 自带 Web UI(最常用)

1️⃣ HDFS 状态监控

访问 NameNode Web UI:

http://namenode-host:9870

(Hadoop 2.x 是 50070,Hadoop 3.x 默认 9870)

可查看:

  • Live Datanodes
  • HDFS 容量、使用率
  • 块(Block)状态
  • 文件系统浏览

2️⃣ YARN 状态监控

访问 ResourceManager Web UI:

http://resourcemanager-host:8088

可查看:

  • 集群资源(CPU / 内存)
  • 正在运行 / 完成的 Application
  • NodeManager 状态
  • 队列(Queue)使用情况

二、Linux 命令行监控

1️⃣ HDFS 状态

# 查看 HDFS 报告
hdfs dfsadmin -report

# 查看文件系统状态
hdfs fsck / -files -blocks -locations

2️⃣ YARN 状态

# 查看节点状态
yarn node -list

# 查看应用
yarn application -list

3️⃣ 查看进程是否存活

jps

常见进程:

  • NameNode
  • DataNode
  • ResourceManager
  • NodeManager
  • SecondaryNameNode

三、日志监控(非常重要)

1️⃣ 日志目录

默认路径:

$HADOOP_HOME/logs/

关键日志:

  • hadoop-*-namenode-*.log
  • hadoop-*-datanode-*.log
  • yarn-*-resourcemanager-*.log
  • yarn-*-nodemanager-*.log

2️⃣ 实时查看日志

tail -f hadoop-root-namenode-master.log

3️⃣ 错误快速定位

grep -i error hadoop-root-namenode-*.log

四、JMX 监控(生产环境常用)

Hadoop 组件暴露 JMX 指标,可用于:

  • 自定义监控
  • Prometheus / Grafana

查看 JMX 端口

jps -l

访问示例:

http://namenode:9870/jmx

可获取:

  • HDFS 容量
  • Block 数量
  • JVM 内存
  • GC 情况

五、系统级监控(Linux)

1️⃣ CPU / 内存 / 磁盘

top
htop
free -h
df -h

2️⃣ 磁盘 IO

iostat -x 1

3️⃣ 网络

iftop

六、第三方监控工具(推荐生产环境)

✅ Prometheus + Grafana(主流)

  • 使用 JMX Exporter
  • 采集 HDFS / YARN 指标
  • 可视化展示

✅ Ambari(HDP 生态)

  • Web 化集群管理
  • 自动告警

✅ Cloudera Manager(CDH)

  • 商业方案
  • 监控 + 运维一体化

七、常见监控指标(重点关注)

类型 关键指标
HDFS 容量使用率、丢失块、Datanode 存活
YARN 内存/CPU 使用率、Pending App
系统 CPU、内存、磁盘、网络
JVM GC、内存泄漏

八、简单监控脚本示例

#!/bin/bash
jps | grep -q NameNode || echo "NameNode is down"
hdfs dfsadmin -report | grep "Live datanodes"

如果你愿意,我可以:

  • ✅ 帮你 搭建 Prometheus + Grafana 监控 Hadoop
  • ✅ 针对 Hadoop 2.x / 3.x 给出具体端口和配置
  • ✅ 给你一套 生产环境监控 checklist

你现在用的是 Hadoop 2.x 还是 3.x?单机还是集群?

0