Flume安装及配置
将 apache-flume-1.7.0-bin.tar.gz 上传到 linux 的/opt/software 目录下
解压 apache-flume-1.7.0-bin.tar.gz 到/opt/module/目录下
tar -zxvf apache-flume-1.7.0-bin.tar.gz -C /opt/module/
修改文件名
mv apache-flume-1.7.0-bin flume-1.7.0
# 获取JAVA_HOME
echo $JAVA_HOME
# 进入配置文件夹
cd flume-1.7.0/conf/
#修改配置文件名
cp flume-env.sh.template flume-env.sh
# 修改配置文件
vim flume-env.sh
# 修改配置文件里的JAVA_HOME为刚才查到的Java_home
完成以上步骤 flume 就安装成功了
为具体的任务提供服务,不需要启动进程
2.2 Flume 入门案例
监控端口数据官方案例
使用 Flume 监听一个端口,收集该端口数据,并打印到控制台
安装netcat工具
yum install -y nc
# 判断 44444 被监听端口是否被占用
netstat -tunlp | grep 44444
# 启动监听服务
nc -lk 44444
# flume 目录下 创建 任务文件夹
mkdir job
# 进入 创建的 job 任务文件夹
cd job
# 创建任务配置文件
touch netcat-flume-logger.conf
修改 文件内如如下 文件内容来源与官网 A simple example
# example.conf: A single-node Flume configuration
# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# 描述和配置 sourec
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
# 描述 sink
a1.sinks.k1.type = logger
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
# 1000个事件
a1.channels.c1.capacity = 1000
# 一次传输的事务
a1.channels.c1.transactionCapacity = 100
# 绑定关系 source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
启动命令第一种
bin/flume-ng agent --conf conf/ --conf-file job/netcat-flume-logger.conf --name a1 -Dflume.root.logger=INFO,console
启动命令第二种
bin/flume-ng agent -n a1 -c conf/ -f job/netcat-flume-logger.conf -Dflume.root.logger=INFO,console
可以启动一个客户端访问
nc localhost 44444
jps -ml 查看 Flume 进程。
安装部署flume监控系统 ganglia
安装 httpd 服务与 php 安装其他依赖
# 安装 httpd 服务与 php
yum -y install httpd php
#安装其他依赖
yum -y install rrdtool perl-rrdtool rrdtool-devel
yum -y install apr-devel
安装 ganglia
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6- 8.noarch.rpm
如果这个包安装失败 , 执行一下命令
yum install -y epel-release
(解决不能yum安装某些安装包的问题)
安装命令
yum -y install ganglia-gmetad
yum -y install ganglia-web
yum -y install ganglia-gmond
修改配置文件 开启所有功能
vim /etc/httpd/conf.d/ganglia.conf
如果web页面显示时间不对请修改php默认时区
修改 配置文件 /etc/php.ini
或者在 /usr/share/ganglia/conf_default.php文件中加入一下配置
date_default_timezone_set('PRC');
#
# Ganglia monitoring system php web frontend
#
Alias /ganglia /usr/share/ganglia
<Location /ganglia>
Order deny,allow
#Deny from all
Allow from all
#Allow from 127.0.0.1
#Allow from ::1
# Allow from .example.com
</Location>
修改配置文件
vim /etc/ganglia/gmetad.conf
修改内容:
data_source “hadoop102” 192.168.9.102
7) 修改配置文件/etc/selinux/config
启动服务
service httpd start
service gmetad start
service gmond start
浏览器访问 可以查看服务状态
http://hadoop102/ganglia
如果访问地址报错不能访问,信息如下
You don’t have permission to access /ganglia on this server.
修改 配置文件 /etc/httpd/conf.d/ganglia.conf
为如图
注释了上面的这些规则,添加了“ Require all granted”后,重启httpd问题解决。
修改flume配置文件
修改/opt/module/flume/conf 目录下的 flume-env.sh 配置 在最后添加一下配置
JAVA_OPTS="-Dflume.monitoring.type=ganglia -Dflume.monitoring.hosts=192.168.9.102:8649 -Xms100m -Xmx200m"
启动 Flume 任务 查看ganglia监控
给正常的
bin/flume-ng agent \
--conf conf/ \
--name a1 \
--conf-file job/flume-netcat-logger.conf \
-Dflume.root.logger==INFO,console \
-Dflume.monitoring.type=ganglia \
-Dflume.monitoring.hosts=192.168.9.102:8649
图例说明: