相关知识

Flume是Cloudera公司的一款高性能、高可用的分布式日志收集系统。

Flume的核心是把数据从数据源收集过来再送到目的地。为了保证输送一定成功,在送到目的地之前,会先缓存数据,待数据真正到达目的地后,再删除缓存的数据。

Flume传输数据的基本单位是event,如果是文本文件,通常是一行记录,这也是事务的基本单位。

Flume运行的核心是Agent。它是一个完整的数据收集工具,含有三个核心组件,分别是Source、Channel、Sink。

Flume安装部署-LMLPHP

1.Source组件是专门用于收集日志的,可以处理各种类型各种格式的日志数据,包括Avro、Thrift、Exec、Jms、Spooling directory、Netcat、Sequence Generator、Syslog、HTTP、Legacy、自定义。

2.Source组件把数据收集来以后,临时存放在Channel中。

3.Channel组件是在Agent中专门用于临时存储数据的,Source收集的数据将临时储蓄于此,可以存放在Memory、Jdbc、File、自定义。

4.Channel中的数据只有在Sink发送成功之后才会被删除。

5.Sink组件是用于把Channel中数据发送到目的地的组件,目的地包括HDFS、Logger、Avro、Thrift、Ipc、File、Null、HBase、Solr、自定义。

在整个数据传输过程中,流动的是event。事务保证是在event级别。

任务内容

在已安装好的Hadoop环境基础上,安装并配置Flume。

任务步骤

1.首先在Linux本地,新建/data/flume1目录,用于存放所需文件。

mkdir -p /data/flume1  

 

2.切换到/data/flume1目录,使用wget命令,下载Hive所需安装包flume-ng-1.5.0-cdh5.4.5.tar.gz。

cd /data/flume1
wget '路径名'/flume-ng-1.5.0-cdh5.4.5.tar.gz  

 

将/data/flume1目录下的Flume的压缩包,解压缩到/apps目录下。

tar -xzvf /data/flume1/flume-ng-1.5.0-cdh5.4.5.tar.gz  -C  /apps  

 

并将解压缩后的目录apache-flume-1.5.0-cdh5.4.5-bin重命名为flume。

cd /apps
mv /apps/apache-flume-1.5.0-cdh5.4.5-bin/  /apps/flume  

 

3.修改环境变量。使用vim打开用户环境变量。

sudo vim ~/.bashrc 

 

将以下内容,追加到用户环境变量中。

#flume config
export FLUME_HOME=/apps/flume
export FLUME_CONF_DIR=$FLUME_HOME/conf
export PATH=$FLUME_HOME/bin:$PATH  

 

执行source,使用户环境变量生效。

source ~/.bashrc  

 

4.配置Flume。切换到/apps/flume/conf目录,并将配置文件flume-env.sh.template重命名为flume-env.sh。

cd /apps/flume/conf
mv /apps/flume/conf/flume-env.sh.template  /apps/flume/conf/flume-env.sh  

 

使用vim打开flume-env.sh文件。

vim flume-env.sh  

 

并将jdk的路径添加到flume-env.sh文件中。

export JAVA_HOME=/apps/java  

 

5.执行以下命令,测试Flume的安装是否正常。

flume-ng version  

 

输出内容如下:

Flume安装部署-LMLPHP

至此Flume安装完毕 !

12-21 23:53