大数据技术之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 的容量
相关推荐
一只积极向上的小咸鱼16 分钟前
git常用命令总结
大数据·git·elasticsearch
hankl199020 分钟前
spark里使用geohash处理数据之线程安全问题
大数据·分布式·spark
檀越剑指大厂1 小时前
【Elasticsearch系列】Elasticsearch中的分页
大数据·elasticsearch·搜索引擎
LNTON羚通2 小时前
明烟明火检测算法、烟火检测、森林防火检测
大数据·网络·人工智能·算法·音视频
兴趣使然h5 小时前
ElasticSearch的DSL查询④(DSL查询、RestClient的DSL查询)
java·大数据·elasticsearch·搜索引擎·springboot
wukangjupingbb6 小时前
数据资产盘点
大数据·人工智能
PLM小助手7 小时前
鼎捷新一代PLM 荣膺维科杯 “2023年度行业优秀产品奖”
java·大数据·前端·人工智能·分布式·低代码·微服务
Lansonli7 小时前
Elasticsearch基础(七):Logstash如何开启死信队列
大数据·elasticsearch·搜索引擎
旗晟机器人8 小时前
《创新电力巡检,机器人铸就安全高效未来》
大数据·人工智能·安全·机器人
电商数据girl8 小时前
B2C电商接口解决方案||搭建电商项目必备电商接口
java·大数据·开发语言·人工智能·后端·json