温馨提示×

Hadoop在Linux下如何监控性能

小樊
45
2026-01-03 04:59:48
栏目: 智能运维

Linux下监控Hadoop性能的可落地方案

一 快速巡检与内置界面

  • 组件进程与端口
    • 使用jps确认关键进程:NameNode、DataNode、ResourceManager、NodeManager是否存活。
    • 访问内置Web界面:
      • HDFS NameNodeHadoop 2.x 为 50070Hadoop 3.x 为 9870
      • YARN ResourceManager8088
  • HDFS与YARN状态
    • hdfs dfsadmin -report:查看DataNode健康、容量/已用块报告等。
    • hdfs fsck /:快速健康检查,排查缺失/损坏块等影响性能的问题。
    • yarn node -list:查看各节点资源与状态。
    • yarn application -list -appStates ALL:列出所有应用及其状态,定位长时运行/失败作业。
  • 日志定位
    • 组件日志位于**$HADOOP_HOME/logs**,结合异常栈与GC日志分析性能退化故障根因。

二 系统层监控与瓶颈定位

  • 实时资源
    • top/htop:CPU、内存、负载。
    • iostat -x 1:磁盘util、await、svctm、r/s、w/s(定位I/O瓶颈)。
    • nmon:CPU、内存、磁盘、网络的综合视图与报表。
    • netstat -s / sar -n DEV:网络丢包/重传、带宽利用。
  • 节点健康快照
    • dstat:同时观察CPU、内存、磁盘、网络的瞬时变化,便于关联作业抖动资源波动

三 指标采集与可视化

  • 企业级管理平台
    • Apache AmbariCloudera Manager(CDH):提供集群健康、指标与告警的一体化视图,适合大规模多组件运维。
  • 开源时序监控
    • Prometheus + Grafana
      • 采集:通过Hadoop Exporter/JMX Exporter暴露JMX指标,或启用Hadoop的Metrics2框架输出到Prometheus Sink
      • 配置:在Prometheus中添加Hadoop作业,Grafana导入Hadoop/Datadog/HDFS等社区仪表盘。
      • 告警:基于PromQL设置阈值与持续时间规则,联动邮件/钉钉/企业微信等。
  • 其他可选
    • Ganglia(大规模集群的可扩展监控)、Zabbix(集中监控与阈值告警)、Datadog/New Relic(商业化APM+基础设施监控)。

四 关键指标与告警建议

维度 关键指标 常用命令/来源 告警建议
HDFS容量 Capacity/Used/Remaining、MissingBlocks、CorruptBlocks hdfs dfsadmin -report、hdfs fsck Remaining < 10%Missing/Corrupt > 0
HDFS性能 Block report 延迟、NameNode RPC 队列 NameNode UI(9870/50070) RPC队列持续**> 100GC停顿 > 1s**
YARN资源 Memory Used/Reserved、VCores Used、Pending Containers、NodeManagers Live ResourceManager UI(8088)、yarn node -list Pending Containers长时间**> 0Memory Reserved**异常高
系统资源 CPU 使用率、Load、I/O util、网络丢包/重传 top、iostat、nmon、netstat/sar I/O util > 80%持续> 5 分钟丢包/重传增长
作业性能 Map/Reduce 进度、Shuffle 耗时、失败/重试次数 yarn application -list -appStates ALL 失败/重试增多、Shuffle时间异常拉长

五 五分钟落地清单

  • NameNodeResourceManager节点打开内置UI,记录9870/500708088访问是否正常。
  • 运行hdfs dfsadmin -reporthdfs fsck /,确认容量、副本、缺失/损坏块状态。
  • 执行jpsyarn node -list,核对进程存活节点注册情况。
  • 部署Prometheus + Grafana,接入Hadoop Exporter/JMX Exporter,导入仪表盘并设置关键告警(如HDFS剩余空间YARN Pending Containers节点宕机磁盘util高)。

0