首页主机资讯Ubuntu HDFS如何监控配置

Ubuntu HDFS如何监控配置

时间2025-12-15 16:57:04发布访客分类主机资讯浏览765
导读:Ubuntu 上 HDFS 监控配置指南 一 内置监控入口 Web UI Hadoop 3.x:访问 http://:9870(NameNode Web UI)。 Hadoop 2.x:访问 http://:50070。 YARN 资源...

Ubuntu 上 HDFS 监控配置指南

一 内置监控入口

  • Web UI
    • Hadoop 3.x:访问 http://:9870(NameNode Web UI)。
    • Hadoop 2.x:访问 http://:50070
    • YARN 资源总览:http://:8088(可选,用于关联作业与节点资源)。
  • 命令行健康检查
    • 集群概览:hdfs dfsadmin -report(DataNode 数量、容量、剩余空间、健康状况)。
    • 文件系统一致性:hdfs fsck /(块丢失、副本不足、修复建议)。
    • 服务进程存活:执行 jps,应看到 NameNode、DataNode、SecondaryNameNode(2.x)等进程。

二 基于 Metrics2 的指标采集与 Prometheus 集成

  • 启用 Hadoop Metrics2
    • 编辑 $HADOOP_HOME/etc/hadoop/hadoop-metrics2.properties,为 namenode、datanode 启用 PrometheusSink,示例:
      *.sink.prometheus.class=org.apache.hadoop.metrics2.sink.prometheus.PrometheusSink
      namenode.sink.prometheus.class=org.apache.hadoop.metrics2.sink.prometheus.PrometheusSink
      datanode.sink.prometheus.class=org.apache.hadoop.metrics2.sink.prometheus.PrometheusSink
      
    • 保存后重启 HDFS 相关进程,使指标生效。
  • 配置 Prometheus 抓取
    • prometheus.yml 增加抓取任务(Hadoop 2.x 常见指标端口为 50070/50075,Hadoop 3.x 常见为 9870/9864;以实际配置为准):
      scrape_configs:
        - job_name: 'hadoop'
          static_configs:
            - targets:
              - '<
          namenode-host>
          :9870'   # NameNode HTTP(3.x)
              - '<
          datanode-host>
          :9864'   # DataNode HTTP(3.x)
      
  • Grafana 可视化
    • 安装并启动 Grafana,添加 Prometheus 数据源(URL 通常为 http://:9090)。
    • 导入 Hadoop 社区或自定义 Dashboard,展示 HDFS 容量、副本数、块报告、读写延迟、DataNode 心跳 等关键指标。

三 第三方监控与告警

  • 常用方案
    • Prometheus + Grafana:适合自建可视化与灵活告警。
    • Nagios / Zabbix / Datadog:企业级监控与告警平台,可通过脚本或插件采集 dfsadmin -report、HTTP 探针、日志等指标。
  • 快速脚本示例(Nagios/Zabbix 可用)
    • 检查可用空间阈值(示例阈值 10%):
      #!/usr/bin/env bash
      THRESHOLD=10
      REPORT=$(hdfs dfsadmin -report 2>
      /dev/null)
      USAGE_PCT=$(echo "$REPORT" | awk -F: '/Percent Used/ {
          gsub(/%/,"",$2);
           print $2;
       exit}
          ')
      if [ -z "$USAGE_PCT" ];
           then
        echo "UNKNOWN: cannot get HDFS usage"
        exit 3
      fi
      if [ "$USAGE_PCT" -ge "$THRESHOLD" ];
       then
        echo "CRITICAL: HDFS used ${
      USAGE_PCT}
          % >
      = ${
      THRESHOLD}
      %"
        exit 2
      else
        echo "OK: HDFS used ${
      USAGE_PCT}
          %"
        exit 0
      fi
      
    • 结合 fsck 做块健康巡检,结合 日志轮转与告警 做异常发现。

四 关键监控项与告警阈值建议

  • 容量与副本
    • Capacity / Used / Remaining:设置剩余空间阈值(如 < 10% 告警)。
    • Under/Over Replicated Blocks:非 0 即告警,关注修复进度。
  • 节点与块健康
    • Live/Decommissioning/Stale DataNodes:出现 Decommissioning/Stale 及时核查网络、磁盘与进程。
    • Missing Blocks / Corrupt Blocks:为 0,否则优先恢复或重建副本。
  • 性能与可用性
    • NameNode RPC 延迟、队列长度:突增可能预示 GC、锁竞争或磁盘/网络瓶颈。
    • DataNode 心跳与磁盘错误:心跳超时或 VolumeFailure 需立刻处理。
    • Web UI 可达性:对 9870/50070 做 HTTP 探活,连续失败触发告警。

五 快速排障清单

  • 无法打开 9870/50070:检查 NameNode 是否运行(jps)、防火墙/安全组端口放行、绑定地址是否为 0.0.0.0 或正确主机名。
  • dfsadmin -report 失败:确认 HDFS 已启动、网络连通、权限与 Kerberos(若启用)配置正确。
  • fsck 报告大量缺失/损坏块:优先检查 DataNode 磁盘副本因子 与网络,再执行修复或补副本。
  • Prometheus 抓不到指标:核对 hadoop-metrics2.propertiesPrometheusSink 配置、进程重启、以及抓取 URL/端口 是否与 Hadoop 版本匹配。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu HDFS如何监控配置
本文地址: https://pptw.com/jishu/771810.html
怎样优化Ubuntu文件存储空间 Ubuntu HDFS配置日志在哪查看

游客 回复需填写必要信息