Ubuntu Hadoop 监控怎么做
导读:Ubuntu下监控Hadoop的方法与工具 一、Hadoop自带监控工具 Hadoop自身提供了一系列Web界面和命令行工具,适合快速查看集群基础状态: Hadoop Admin UI:通过浏览器访问集群管理界面,直观展示集群整体运行状态...
Ubuntu下监控Hadoop的方法与工具
一、Hadoop自带监控工具
Hadoop自身提供了一系列Web界面和命令行工具,适合快速查看集群基础状态:
- Hadoop Admin UI:通过浏览器访问集群管理界面,直观展示集群整体运行状态、节点列表及资源分配概况。
- ResourceManager Web UI:默认地址为
http://ResourceManager-IP:8088
,可监控集群资源使用情况(如CPU、内存)、作业提交与执行状态、队列信息等。 - NameNode Web UI:默认地址为
http://NameNode-IP:50070
(Hadoop 3.x版本可能为50070或更高),用于查看HDFS的命名空间信息、数据节点状态、存储容量及文件系统健康状况。 - 常用Shell命令:
hdfs dfsadmin -report
:生成HDFS健康报告,包含数据节点列表、存储使用率、块数量等关键信息;yarn node -list
:列出ResourceManager管理的所有NodeManager节点及其状态(如活跃/失效);yarn application -list
:查看当前集群中正在运行的作业,包括作业ID、名称、状态(RUNNING/FINISHED/FAILED)及资源占用情况。
二、第三方监控工具
1. Apache Ambari
Ambari是针对Hadoop生态设计的集中化管理平台,支持HDFS、YARN、Hive、Spark等组件的统一监控与配置。
- 核心功能:提供友好的Web界面,支持集群部署、组件启停、配置修改;实时监控各节点的资源使用率(CPU、内存、磁盘)、组件状态(如NameNode是否存活);支持告警配置(如磁盘空间不足时发送邮件)。
- Ubuntu部署步骤:
- 添加Ambari仓库:
echo "[ambari-ambari-2.7.5-centos7]" > > /etc/yum.repos.d/ambari.repo
(需替换为Ubuntu对应的仓库地址); - 安装Ambari Server:
sudo apt install ambari-server
(Ubuntu需调整包管理工具); - 初始化并启动服务:
sudo ambari-server setup
(按提示配置数据库、主机名等),sudo ambari-server start
。
- 添加Ambari仓库:
2. Ganglia + Grafana
Ganglia是轻量级分布式监控系统,擅长收集集群节点的性能指标(CPU、内存、磁盘I/O、网络流量);Grafana则用于数据可视化,将Ganglia收集的指标转化为直观的仪表盘。
- 部署流程:
- 在Hadoop每个节点安装
ganglia-monitor
:sudo apt install ganglia-monitor
; - 在主节点安装
ganglia-webfrontend
和gmetad
:sudo apt install ganglia-webfrontend gmetad
; - 配置
/etc/ganglia/gmond.conf
:设置集群名称(如hadoop-cluster
)、数据发送间隔(如send_interval = 15s
)及主节点IP; - 配置
/etc/ganglia/gmetad.conf
:指定数据源(如data_source "hadoop-cluster" hadoop-node1-ip hadoop-node2-ip
); - 重启服务:
sudo systemctl restart ganglia-monitor gmetad apache2
; - 通过Grafana添加Ganglia数据源(URL为
http://gmetad-ip:8651/ganglia
),导入Hadoop监控模板(如Grafana社区提供的“Hadoop Cluster Monitoring”模板)。
- 在Hadoop每个节点安装
3. Prometheus + Grafana
Prometheus是开源指标收集系统,通过Hadoop的JMX接口获取性能指标(如JVM堆内存使用、GC次数、MapReduce任务执行时间);Grafana负责可视化展示。
- 配置步骤:
- 启用Hadoop JMX:编辑
hadoop-env.sh
,添加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"
; - 部署Prometheus JMX Exporter:下载
jmx_prometheus_javaagent.jar
,创建配置文件hadoop.yml
(定义要收集的指标路径,如- pattern: '.*'
); - 修改Hadoop启动脚本(如
hadoop-daemon.sh
),添加JVM参数:-javaagent:/path/to/jmx_prometheus_javaagent.jar=12345:/path/to/hadoop.yml
; - 配置Prometheus:在
prometheus.yml
中添加Hadoop节点作为抓取目标(targets: ['hadoop-node1-ip:12345']
); - 通过Grafana添加Prometheus数据源,导入Hadoop监控仪表盘(如“Hadoop 3.x Metrics”)。
- 启用Hadoop JMX:编辑
4. Zabbix
Zabbix是企业级监控解决方案,支持Hadoop集群的全方位监控(包括节点状态、JVM性能、HDFS存储、YARN资源),并提供告警功能(如邮件、短信通知)。
- 配置步骤:
- 安装Zabbix Server与Java Gateway:
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-java-gateway
; - 配置Zabbix Java Gateway:编辑
zabbix_java_gateway.conf
,设置LISTEN_IP="0.0.0.0"
、LISTEN_PORT=10052
; - 配置Zabbix Server:修改
zabbix_server.conf
,添加JavaGateway=java-gateway-ip
、JavaGatewayPort=10052
; - 在Zabbix前端添加Hadoop主机:进入“Configuration → Hosts”,填写主机名、IP地址,关联“Hadoop JMX”模板;
- 导入JMX模板:从Zabbix模板库下载Hadoop监控模板(如“Hadoop JMX Monitoring”),导入后关联到主机。
- 安装Zabbix Server与Java Gateway:
三、监控配置与告警
- 启用JMX:几乎所有第三方工具都需要通过JMX收集Hadoop组件的性能指标,需在
hadoop-env.sh
中配置JMX参数(如端口号、认证方式)。 - 数据源配置:根据工具不同,配置对应的数据源(如Prometheus的
hadoop.yml
、Zabbix的JMX Gateway)。 - 仪表盘创建:使用Grafana创建自定义仪表盘,展示关键指标(如HDFS存储使用率、YARN资源利用率、MapReduce任务完成时间),便于快速定位问题。
- 告警规则设置:在监控工具中配置告警阈值(如磁盘空间超过80%、节点宕机),当指标超出范围时触发通知(如邮件、Slack消息)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Hadoop 监控怎么做
本文地址: https://pptw.com/jishu/726326.html