目录
[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 的容量 |