目录

Flume 数据流监控

Ganglia 的安装与部署

Ganglia 组件介绍

1)安装 Ganglia

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

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

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

5)在 hadoop12 修改配置文件 /etc/selinux/config

6)启动 Ganglia

7)打开网页浏览 Ganglia 页面

 操作 Flume 测试监控

1)启动 Flume 任务

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

    [lzl@hadoop12 flume]$ sudo yum -y install epel-release
  • 在 hadoop12 安装

    [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 安装

    [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

修改为:

# 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
[lzl@hadoop12 flume]$ sudo vim /etc/ganglia/gmetad.conf

修改为:

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

修改为:

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
[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 生效需要重启,如果此时不想重启,可以临时生效之:

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

    [lzl@hadoop12 flume]$ sudo systemctl start gmond
  • 在 hadoop12 启动

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

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

[lzl@hadoop12 flume]$ sudo chmod -R 777 /var/lib/ganglia

 操作 Flume 测试监控

1)启动 Flume 任务
[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 监测图
[lzl@hadoop12 flume]$ nc localhost 44444

   

图例说明:
字段(图表名称)字段含义
EventPutAttemptCountsource 尝试写入 channel 的事件总数量
EventPutSuccessCount成功写入 channel 且提交的事件总数量
EventTakeAttemptCountsink 尝试从 channel 拉取事件的总数量。
EventTakeSuccessCountsink 成功读取的事件的总数量
StartTimechannel 启动的时间(毫秒)
StopTimechannel 停止的时间(毫秒)
ChannelSize目前 channel 中事件的总数量
ChannelFillPercentagechannel 占用百分比
ChannelCapacitychannel 的容量
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐