Flume是Cloudera提供的日志收集系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种storage。Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。本试验就是通过学习flume工具的安装,为后面学习flume实现对数据信息的采集以便于解决实际中存在的问题打下基础。
熟练flume的安装和配置,理解flume的原理和应用
本次环境是:Ubuntu16.04 + jdk1.8.0_73 + hadoop-2.7.3+flume-1.7.0
解压fulem的安装包,然后配置环境变量,修改flume配置文件,最后测试是否安装成功。
在linux终端执行切换命令:【cd /simple/soft
】并查看是否存在解压后flume文件,如果不存在,则需要查看/simple/soft目录下是否存在flume压缩包文件apache-flume-1.7.0-bin.tar.gz。如图1所示
图1 查看压缩包所在目录
在linux命令终端执行解压命令:【tar -zxvf apache-flume-1.7.0-bin.tar.gz -C /simple
】对flume压缩包进行解压 。如图2所示
图2 解压需要的压缩包
解压flume压缩包之后,通过执行ls命令:【ls apache-flume-1.7.0-bin/
】来查看flume解压后的目录结构。如图3所示
图3 查看flume的目录结构
为了方便美观将apaceh-flume-1.7.0-bin修改为flume。如图4所示
图4 修改名字
进入flume目录下的bin目录下的内容列表。可以看到该目录下有一个执行文件flume-ng 。如图5所示
图5 查看执行文件
输入命令【vim /etc/profile
】进入配置文件,配置flume的环境变量,配置完成后保存,然后输入命令【source /etc/profile
】使环境变量生效。如图6所示
图6 配置环境变量
♥ 知识链接
概念
Flume的一些核心概念:
name | Value |
---|---|
(1)Events | 一个数据单元,带有一个可选的消息头,可以是日志记录、avro 对象等。 |
(2)Agent | JVM中一个独立的Flume进程,包含组件Source、Channel、Sink。 |
(3)Client | 运行于一个独立线程,用于生产数据并将其发送给Agent。 |
(4)Source | 用来消费传递到该组件的Event,从Client收集数据,传递给Channel。 |
(5)Channel | 中转Event的一个临时存储,保存Source组件传递过来的Event,其实就是连接 Source 和 Sink ,有点像一个消息队列。 |
(6)Sink | 从Channel收集数据,运行在一个独立线程。 |
在/simple/flume/conf目录下可以看到有个配置文件模板flume-env.sh.template,首先更改该文件名,需要执行命令:mv flume-env.sh.template flume-env.sh
对conf目录下的配置文件进行重命名。如图6所示
图7 重命名配置文件
首先通过编辑命令:【vim flume-env.sh
】进入配置文件中然后修改配置文件中的内容。如图8所示
图8 编辑配置文件
在任意目录下输入【flume-ng version
】查看flume是否安装成功。如图9
图9 检查是否安装成功