Hadoop HDFS-监控(monitor)

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

图片

中间件,我给它的定义就是为了实现某系业务功能依赖的软件,包括如下部分:

Web服务器

代理服务器

ZooKeeper

Kafka

RabbitMQ

Hadoop HDFS(本章节)

经过前面的介绍,我们对HDFS已经具有基本的操作能力,现在来说说每个中间件都必须要讲解的监控环节。

一、核心监控维度

服务可用性

    • NameNode (NN):主/备 NN 状态、Active/Standby 切换是否正常(HA 环境下)。
    • JournalNode (JN):HA 环境下,确保多数 JN 存活以保证 EditLog 同步。

    • DataNode (DN):存活 DN 数量、DN 与 NN 的心跳通信状态(hdfs dfsadmin -report)。

    • ZooKeeper (ZK):若依赖 ZK(如用于 HA 故障转移或 HDFS Federation),监控 ZK 集群状态。

    存储容量

    • 总容量:集群物理总空间 (DFS Capacity)。

    • 已用空间:包括实际数据 (DFS Used) 和非 DFS 使用(如临时文件、OS 占用,Non DFS Used)。

    • 剩余空间 (DFS Remaining) 及使用率百分比。

    • 副本空间开销:考虑复制因子后的逻辑数据量 (DFS Used vs 实际物理占用)。

    • 目录/用户配额使用情况 (见上节配额管理)。

      文件系统元数据

      • 缺失/损坏 Blocks 数 (Missing Blocks, Corrupt Blocks)。

      • 待复制 Blocks 数 (Under Replicated Blocks)。

      • 待删除 Blocks 数 (Pending Deletion Blocks)。

      二、核心监控工具与方法

      1. HDFS 内置命令

      查看集群摘要、DN 状态、存储概况。

      hdfs dfsadmin -report
      下面这里显示的全局信息。

      图片

      下面则是一个单机的数据节点。,如果有多个节点,这里就会显示多个节点。

      图片

      检查文件系统健康,查找损坏/缺失块。

      #当然这里的路径也可以更换为其他的 
      hdfs fsck / 

      图片

      2. HDFS Web UI

      • NameNode UI (默认端口 9870)

        • Overview:集群总览、存储摘要、文件/块统计。

        • Datanodes:所有 DN 状态、存储分布、读写流量。

        • Snapshots:已创建快照列表。

        • Startup Progress:NN 启动阶段耗时分析(排查启动慢)。

        • Logs:直接查看 NN 日志。

      3. JMX 指标 (核心监控来源)
      • 访问方式http://<nn-host>:9870/jmx 或 http://<dn-host>:9864/jmx

      • 关键 MBeans

        • Hadoop:service=NameNode,name=FSNamesystemState:文件系统元数据状态(文件数、块数、缺失块等)。

        • Hadoop:service=NameNode,name=NameNodeActivity:RPC 操作统计(Ops, AvgTime, QueueLength)。

        • Hadoop:service=NameNode,name=JvmMetrics:JVM 内存、GC、线程。

        • Hadoop:service=DataNode,name=FSDatasetState-<uuid>:DN 存储卷状态、容量。

        • Hadoop:service=DataNode,name=DataNodeActivity-<uuid>:DN IO 操作统计。

      三、关键告警项 (必须设置)

      1. 服务不可用:NN/Standby NN/DN 宕机或心跳丢失。

      2. 存储容量:剩余空间 < 20% (或自定义阈值),配额即将耗尽。

      3. 块健康MissingBlocks > 0 或 CorruptBlocks > 0 持续增长。

      4. 副本异常UnderReplicatedBlocks 持续超过阈值(如 1000)。

      5. RPC 性能:RPC 平均响应时间 > 100ms 或 调用队列持续堆积。

      6. JVM 健康:堆内存使用率 > 85%, Full GC 频率过高 (> 1次/分钟)。

      7. 磁盘故障:DataNode 日志报告磁盘错误。

      四.接入云原生​​​​​​​

      #如下这个监控 
      https://grafana.com/grafana/dashboards/23175-hdfs-datanode/

      图片

      运维小路

      一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

      关注微信公众号《运维小路》获取更多内容。

      评论
      成就一亿技术人!
      拼手气红包6.0元
      还能输入1000个字符
       
      红包 添加红包
      表情包 插入表情
       条评论被折叠 查看
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

      当前余额3.43前往充值 >
      需支付:10.00
      成就一亿技术人!
      领取后你会自动成为博主和红包主的粉丝 规则
      hope_wisdom
      发出的红包
      实付
      使用余额支付
      点击重新获取
      扫码支付
      钱包余额 0

      抵扣说明:

      1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
      2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

      余额充值