大数据技术之Flume 数据流监控——Ganglia 的安装与部署(11)

目录

[Flume 数据流监控](#Flume 数据流监控)

[Ganglia 的安装与部署](#Ganglia 的安装与部署)

[Ganglia 组件介绍](#Ganglia 组件介绍)

[1)安装 Ganglia](#1)安装 Ganglia)

[2)在 hadoop12 修改配置文件 /etc/httpd/conf.d/ganglia.conf](#2)在 hadoop12 修改配置文件 /etc/httpd/conf.d/ganglia.conf)

[3)在 hadoop12 修改配置文件 /etc/ganglia/gmetad.conf](#3)在 hadoop12 修改配置文件 /etc/ganglia/gmetad.conf)

[4)在 hadoop12, hadoop13, hadoop14 修改配置文件 /etc/ganglia/gmond.conf](#4)在 hadoop12, hadoop13, hadoop14 修改配置文件 /etc/ganglia/gmond.conf)

[5)在 hadoop12 修改配置文件 /etc/selinux/config](#5)在 hadoop12 修改配置文件 /etc/selinux/config)

[6)启动 Ganglia](#6)启动 Ganglia)

[7)打开网页浏览 Ganglia 页面](#7)打开网页浏览 Ganglia 页面)

[操作 Flume 测试监控](#操作 Flume 测试监控)

[1)启动 Flume 任务](#1)启动 Flume 任务)

[2)发送数据观察 Ganglia 监测图](#2)发送数据观察 Ganglia 监测图)

图例说明:


Flume 数据流监控

Ganglia 的安装与部署

Ganglia 组件介绍

  • gmond (Ganglia Monitoring Daemon): 轻量级服务,安装在每台需要收集指标的机器上,用于收集系统信息如 CPU 使用率、内存、磁盘、网络和活跃进程的数据等。
  • gmetad (Ganglia Meta Daemon): 整合所有信息,并将其以 RRD 格式存储至磁盘的服务。
  • gweb (Ganglia Web): Ganglia 的可视化工具,是一种利用浏览器显示 gmetad 所存储数据的 PHP 前端,在 Web 界面中以图表方式展现集群的运行状态下收集的多种不同指标数据。
1)安装 Ganglia
  • 规划

    • hadoop12: web, gmetad, gmond
    • hadoop13: gmond
    • hadoop14: gmond
  • 在 hadoop12, hadoop13, hadoop14 分别安装 epel-release

    bash 复制代码
    [lzl@hadoop12 flume]$ sudo yum -y install epel-release
  • 在 hadoop12 安装

    bash 复制代码
    [lzl@hadoop12 flume]$ sudo yum -y install ganglia-gmetad 
    [lzl@hadoop12 flume]$ sudo yum -y install ganglia-web
    [lzl@hadoop12 flume]$ sudo yum -y install ganglia-gmond
  • 在 hadoop13 和 hadoop14 安装

    bash 复制代码
    [lzl@hadoop12 flume]$ sudo yum -y install ganglia-gmond
2)在 hadoop12 修改配置文件 /etc/httpd/conf.d/ganglia.conf
复制代码
[lzl@hadoop12 flume]$ sudo vim /etc/httpd/conf.d/ganglia.conf

修改为:

bash 复制代码
# Ganglia monitoring system php web frontend

#
Alias /ganglia /usr/share/ganglia
<Location /ganglia>
    # Require local
    # 通过 windows 访问 ganglia,需要配置 Linux 对应的主机(windows)ip 地址
    Require ip 192.168.9.1
    # Require ip 10.1.2.3
    # Require host example.org
</Location>
3)在 hadoop12 修改配置文件 /etc/ganglia/gmetad.conf
bash 复制代码
[lzl@hadoop12 flume]$ sudo vim /etc/ganglia/gmetad.conf

修改为:

bash 复制代码
data_source "my cluster" hadoop12
4)在 hadoop12, hadoop13, hadoop14 修改配置文件 /etc/ganglia/gmond.conf
bash 复制代码
[lzl@hadoop12 flume]$ sudo vim /etc/ganglia/gmond.conf 

修改为:

bash 复制代码
cluster {
  name = "my cluster"
  owner = "unspecified"
  latlong = "unspecified"
  url = "unspecified"
}

udp_send_channel {
  # 数据发送给 hadoop12
  host = hadoop12
  port = 8649
  ttl = 1
}

udp_recv_channel {
  # 接收来自任意连接的数据
  bind = 0.0.0.0
  retry_bind = true
}
5)在 hadoop12 修改配置文件 /etc/selinux/config
bash 复制代码
[lzl@hadoop12 flume]$ sudo vim /etc/selinux/config

修改为:

复制代码
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled

# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

尖叫提示:SELinux 生效需要重启,如果此时不想重启,可以临时生效之:

bash 复制代码
[lzl@hadoop12 flume]$ sudo setenforce 0
6)启动 Ganglia
  • 在 hadoop12, hadoop13, hadoop14 启动

    bash 复制代码
    [lzl@hadoop12 flume]$ sudo systemctl start gmond
  • 在 hadoop12 启动

    bash 复制代码
    [lzl@hadoop12 flume]$ sudo systemctl start httpd
    [lzl@hadoop12 flume]$ sudo systemctl start gmetad
7)打开网页浏览 Ganglia 页面
bash 复制代码
http://hadoop12/ganglia

尖叫提示:如果完成以上操作依然出现权限不足错误,请修改 /var/lib/ganglia 目录的权限:

bash 复制代码
[lzl@hadoop12 flume]$ sudo chmod -R 777 /var/lib/ganglia

操作 Flume 测试监控

1)启动 Flume 任务
bash 复制代码
[lzl@hadoop12 flume]$ bin/flume-ng agent \
-c conf/ \
-n a1 \
-f job/flume-netcat-logger.conf \
-Dflume.root.logger=INFO,console \
-Dflume.monitoring.type=ganglia \
-Dflume.monitoring.hosts=hadoop12:8649
2)发送数据观察 Ganglia 监测图
bash 复制代码
[lzl@hadoop12 flume]$ nc localhost 44444
图例说明:
字段(图表名称) 字段含义
EventPutAttemptCount source 尝试写入 channel 的事件总数量
EventPutSuccessCount 成功写入 channel 且提交的事件总数量
EventTakeAttemptCount sink 尝试从 channel 拉取事件的总数量。
EventTakeSuccessCount sink 成功读取的事件的总数量
StartTime channel 启动的时间(毫秒)
StopTime channel 停止的时间(毫秒)
ChannelSize 目前 channel 中事件的总数量
ChannelFillPercentage channel 占用百分比
ChannelCapacity channel 的容量
相关推荐
方向研究1 天前
盈利因子策略
大数据
Slow菜鸟1 天前
Codex CLI 教程(五)| Skills 安装指南:面向 Java 全栈工程师打造个人 ECC(V1版)
大数据·前端·人工智能
狒狒热知识1 天前
2026品效合一深度落地:软文营销平台重构企业品牌与业绩双增长新路径
大数据·人工智能·重构
城事漫游Molly1 天前
研究设计核心 Toolkit:从“知道方法”到“真正会设计”
大数据·人工智能·算法·ai写作·论文笔记
一只幸运猫.1 天前
核心概念层——深入理解 Agent 是什么
大数据·数据库·人工智能
金融Tech趋势派1 天前
2026企业微信AI服务商实测:微盛·企微管家领跑私域客户运营赛道
大数据·人工智能·企业微信
青岛前景互联信息技术有限公司1 天前
又到一年开学季,大学校园安全管理中的突出问题分析
大数据·人工智能·物联网
萤丰信息1 天前
避坑指南+案例拆解,智慧园区建设如何少走弯路
大数据·智慧城市
柏颖漫谈1 天前
欧洲汽车可能正扶持韩国电池制衡中国电池,不希望完全受制于人,但已经晚了
大数据·人工智能·汽车
成旭先生1 天前
【2026年可用】企业信息查询API接口
java·大数据·模糊查询·企业信息