安装Apache Flume

Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

Flume简介

Flume主要由3个重要的组件构成:

  • Source:完成对日志数据的收集,分成transtion 和 event 打入到channel之中。
  • Channel:主要提供一个队列的功能,对source提供中的数据进行简单的缓存。
  • Sink:取出Channel中的数据,进行相应的存储文件系统,数据库,或者提交到远程服务器。

Flume结构如下图所示:

Flume逻辑上分为三层,分别是:agent,collector,storage。如下图所示:

各层功能如下:

  • agent层:用于采集数据。agent是flume中产生数据流的地方,同时,agent会将产生的数据流传输到collector。
  • collector层:作用是将多个agent的数据汇总后,加载到storage中。
  • storage层:存储系统,可以是一个普通文件,也可以是HDFS、HIVE、HBase、Kafka等。

安装Flume

请首先从Flume的官网上下载安装包。这里下载了apache-flume-1.9.0-bin.tar.gz,并将安装包上传到Linux系统中。

1)切换到安装包所在目录,执行如下的解压命令:

$ tar -zxvf apache-flume-1.9.0-bin.tar.gz -C /home/hduser/bigdata

上面将apache-flume-1.9.0-bin.tar.gz解压到了/home/hduser/bigdata目录下。然后重命名文件夹,以简化引用。

$ cd /home/hduser/bigdata/
$ mv apache-flume-1.9.0-bin flume-1.9.0

2)现在编辑/etc/profile文件(或.bashrc文件)以更新Apache Flume的环境变量,以便可以从任何目录访问它。

$ nano /etc/profile

在打开的文件中,添加如下几行内容:

export FLUME_HOME=/home/hduser/bigdata/flume-1.9.0                   
export FLUME_CONF_DIR=$FLUME_HOME/conf
export PATH=$PATH:$FLUME_HOME/bin

然后按CTRL + O保存修改,按CTRL + X退出nano编辑器,并执行以下命令使环境变量生效:

$ source /etc/profile

3)修改 flume-env.sh 配置文件。默认没有flume-env.sh,我们需要复制flume-env.sh.template并去掉后缀.template,命令如下:

$ cd /home/hduser/bigdata/flume-1.9.0/conf 
$ cp ./flume-env.sh.template ./flume-env.sh
$ nano ./flume-env.sh

打开flume-env.sh文件以后,在文件的最后增加下面这行内容,用于设置JAVA_HOME变量:

export JAVA_HOME=/opt/java/jdk1.8.0_281

注意:这里请修改为你自己的JDK安装目录。

然后按CTRL + O保存修改,按CTRL + X退出nano编辑器

4)使用下面的命令来验证Flume的安装。

$ flume-ng version

如果安装成功,则应该出现Flume的版本信息,类似下面这样的内容:

Flume 1.9.0
Source code repository: https://git-wip-us.apache.org/repos/asf/flume.git
Revision: d4fcab4f501d41597bc616921329a4339f73585e
Compiled by fszabo on Mon Dec 17 20:45:25 CET 2018
From source with checksum 35db629a3bda49d23e9b3690c80737f9

恭喜!Apache Flume已经安装成功了!


《Flink原理深入与编程实战》