大数据技术之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 的容量
相关推荐
逸Y 仙X3 小时前
Git常见命令--助力开发
java·大数据·git·java-ee·github·idea
caihuayuan43 小时前
PHP建立MySQL持久化连接(长连接)及mysql与mysqli扩展的区别
java·大数据·sql·spring
B站计算机毕业设计超人4 小时前
计算机毕业设计Hadoop+Spark+DeepSeek-R1大模型民宿推荐系统 hive民宿可视化 民宿爬虫 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·hadoop·爬虫·机器学习·课程设计·数据可视化·推荐算法
(; ̄ェ ̄)。4 小时前
在nodejs中使用ElasticSearch(二)核心概念,应用
大数据·elasticsearch·搜索引擎
一个儒雅随和的男子5 小时前
Elasticsearch除了用作查找以外,还能可以做什么?
大数据·elasticsearch·搜索引擎
Sui_Network5 小时前
Sui 如何支持各种类型的 Web3 游戏
大数据·数据库·人工智能·游戏·web3·区块链
ZKNOW甄知科技5 小时前
IT服务运营管理体系的常用方法论与实践指南(上)
大数据·数据库·人工智能
车到山前必有“陆”6 小时前
智能硬件解决方案
大数据·人工智能·经验分享·科技·产品运营·智能硬件
车到山前必有“陆”6 小时前
智能硬件-01智能停车场
大数据·人工智能·经验分享·科技·产品运营·智能硬件
跳跳的向阳花6 小时前
06、ElasticStack系列,第六章:elasticsearch设置密码
大数据·elasticsearch·jenkins