如何在Ubuntu上监控Hadoop集群状态
导读:在 Ubuntu 上监控 Hadoop 集群状态 一 快速巡检与命令行监控 使用 Hadoop 自带命令获取 HDFS 与 YARN 的运行概况与健康信息: HDFS 健康与容量:hdfs dfsadmin -report(查看 Dat...
在 Ubuntu 上监控 Hadoop 集群状态
一 快速巡检与命令行监控
- 使用 Hadoop 自带命令获取 HDFS 与 YARN 的运行概况与健康信息:
- HDFS 健康与容量:hdfs dfsadmin -report(查看 DataNode 数量、容量、剩余空间等);hdfs fsck /(检查文件系统完整度、损坏块);hdfs balancer(数据不均衡时执行均衡)。
- YARN 资源与作业:yarn node -list -all(节点列表与状态)、yarn application -list(查看运行/历史作业)、yarn application -status 、yarn application -kill (终止作业)。
- 进程存活检查:jps(快速确认 NameNode/DataNode/ResourceManager/NodeManager 是否在运行)。
- 日志排查:组件日志默认位于 $HADOOP_HOME/logs/,可用 tail -f 实时查看异常关键字(如 ERROR/WARN)。
二 Web 界面与可视化
- Hadoop 原生 Web UI(默认端口,可能因版本与安全配置而异):
- NameNode:50070(Hadoop 2.x)或 9870(Hadoop 3.x),查看集群概览、DataNode 列表、存储使用等。
- ResourceManager:8088,查看应用运行状态、队列与资源使用。
- 第三方可视化与监控平台(适合集中展示与告警):
- Ambari(管理 + 监控)、Cloudera Manager(企业级管理监控)、Ganglia(分布式性能监控)、Prometheus + Grafana(指标采集与可视化)、Zabbix(企业级告警)、Datadog(商业化 SaaS 监控)。
三 JMX 远程监控与 Zabbix 集成
- 开启 JMX(在每个需要监控的节点,如 NameNode/ResourceManager/DataNode/NodeManager 的 hadoop-env.sh 或相应启动脚本中设置环境变量):
- 示例(将端口改为各组件唯一端口,如 9999/9998/…):
- export HADOOP_JMX_OPTS=“-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=< 节点主机名或IP> ”
- 示例(将端口改为各组件唯一端口,如 9999/9998/…):
- Zabbix 侧配置:
- 安装 Zabbix Java Gateway:sudo apt-get install zabbix-java-gateway
- 在 Zabbix Server/前端创建主机,接口选择 JMX,填写对应 IP:端口;导入 Hadoop JMX 模板并关联主机,即可采集 JVM/MBean 指标并配置告警。
四 告警与进程自愈
- Nagios 集成(适合已有 Nagios 体系的团队):
- 安装 Nagios(Ubuntu 示例):sudo apt-get install nagios3
- 使用插件或自定义脚本(如 check_hadoop.sh)通过 HTTP 探测 NameNode 页面关键字或调用 Hadoop 命令,定义主机与服务并配置告警阈值,验证配置后重启服务生效。
- Supervisor 进程守护(提升稳定性与自动拉起):
- 安装:sudo apt-get install supervisor
- 为 NameNode/DataNode 等配置 /etc/supervisor/conf.d/hadoop.conf,设置 command、autostart、autorestart、stdout/stderr 日志;通过 supervisorctl status/reread/update/start 管理进程与查看状态。
五 落地建议与关键指标
- 建议组合:命令行与 Web UI 做日常巡检;JMX + Zabbix 做指标化与告警;Nagios 或 Supervisor 做可用性告警与自愈;Prometheus + Grafana 做长期趋势与可视化。
- 关键指标清单:
- HDFS:Live/Decommissioning/Stale DataNodes、Capacity/Used/Remaining、Missing/Under-Replicated Blocks、Block Reports 延迟。
- YARN:Active/Unhealthy Nodes、Memory/VCores 使用率、Pending/Running/Killed/FAILED 应用数、队列配额与使用。
- JVM:Heap/Meta/GC 次数与耗时、线程数、类加载。
- 系统层:CPU/内存/磁盘 IO/网络、磁盘剩余空间(避免因磁盘满导致写入失败)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Ubuntu上监控Hadoop集群状态
本文地址: https://pptw.com/jishu/748696.html
