温馨提示×

怎么监控Debian Hadoop

小樊
41
2026-08-28 21:47:22
栏目: 智能运维

监控 Debian 上的 Hadoop 集群,通常从 系统层、Hadoop 组件层、集群服务层 三个层面来做。下面给你一套实用、可落地的监控方案,从简单到企业级。


一、监控目标拆解

在 Debian 上运行 Hadoop,通常需要监控:

1️⃣ 系统层(每台机器)

  • CPU / 内存 / 磁盘 / 网络
  • 磁盘 I/O(Hadoop 很吃磁盘)
  • 系统负载
  • 磁盘剩余空间(HDFS 非常重要)

2️⃣ Hadoop 服务层

  • NameNode / DataNode
  • ResourceManager / NodeManager
  • JournalNode(HA 场景)
  • HDFS 状态
  • YARN 任务状态

3️⃣ 应用层

  • HDFS 使用率
  • 作业失败率
  • 容器、任务数
  • 数据倾斜、慢节点

二、最常用方案(推荐)

✅ 方案一:Prometheus + Grafana(主流、现代)

监控架构

Hadoop 节点
   ↓ (JMX Exporter)
Prometheus
   ↓
Grafana

1️⃣ 启用 Hadoop JMX

Hadoop 原生支持 JMX,这是监控的基础。

hadoop-env.sh 中增加:

export HADOOP_OPTS="$HADOOP_OPTS \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=9876 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false"

每个角色(NN / DN / RM / NM)建议不同端口


2️⃣ 部署 JMX Exporter

使用 JMX Exporter(Prometheus 官方):

wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.20.0/jmx_prometheus_javaagent-0.20.0.jar

配置示例 metrics.yaml

hostPort: localhost:9876
ssl: false
lowercaseOutputName: true

修改 Hadoop 启动参数:

export HADOOP_OPTS="$HADOOP_OPTS \
-javaagent:/opt/jmx_prometheus_javaagent.jar=9100:/opt/metrics.yaml"

访问:

http://debian-node:9100/metrics

3️⃣ Prometheus 配置

scrape_configs:
  - job_name: 'hadoop'
    static_configs:
      - targets:
        - node1:9100
        - node2:9100
        - node3:9100

4️⃣ Grafana 仪表盘

  • 模板 ID(常用):
    • Hadoop JMX
    • HDFS
    • YARN
  • 展示内容:
    • HDFS 容量
    • Block 数量
    • 存活节点
    • 容器数量
    • JVM 内存

这是目前最推荐方案


三、经典方案:Ambari(不再推荐)

  • Ambari 已停止维护(Apache 退役)
  • Debian 支持较差
  • 新集群不建议

四、轻量级方案(小集群)

✅ 方案一:Hadoop 自带 Web UI

服务 地址
NameNode http://nn:9870
ResourceManager http://rm:8088
DataNode http://dn:9864

能看:

  • 节点状态
  • HDFS 使用率
  • 任务运行情况

❌ 不适合长期监控
✅ 适合排错


✅ 方案二:系统级监控(Zabbix / Netdata)

Zabbix(企业常用)

  • 监控 Debian:
    • CPU / 内存 / 磁盘
  • 可自定义 Key 监控:
    • HDFS 状态
    • 端口存活
    • 进程存在

Netdata(快速)

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

实时、轻量,但不适合大规模


五、Hadoop 常用监控指标(重点)

HDFS

  • HDFS Capacity
  • HDFS Used %
  • Under-replicated blocks
  • Missing blocks
  • DataNode Live

YARN

  • Active Nodes
  • Apps Running / Failed
  • Containers
  • Queue usage

JVM

  • Heap Used
  • GC Time
  • Thread Count

六、告警建议(必须做)

至少一个:

  • HDFS 使用率 > 80%
  • DataNode 掉线
  • NameNode 非 HA
  • YARN 作业失败率高
  • 磁盘剩余 < 15%

可用:

  • Prometheus Alertmanager
  • Zabbix 告警
  • Grafana 告警

七、推荐组合(直接抄)

✅ 新集群 / 生产环境

Prometheus + Grafana + JMX Exporter

✅ 小集群 / 测试

Hadoop Web UI + Netdata

✅ 企业 + 系统级

Zabbix + Hadoop JMX


八、我可以继续帮你

你可以直接告诉我:

  1. Hadoop 版本(2.x / 3.x)
  2. 是否 HA
  3. Debian 版本
  4. 集群规模(几台)
  5. 是否已有 Prometheus / Zabbix

我可以: ✅ 给你 完整配置文件
✅ 定制 Grafana 仪表盘
✅ 写 HDFS / YARN 告警规则

0