Flume的简单介绍
Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。
Flume可以采集文件,socket数据包等各种形式源数据,又可以将采集到的数据输出到HDFS、hbase、hive、kafka等众多外部存储系统中
Flume的运行机制
1、Flume分布式系统中最核心的角色是agent,flume采集系统就是由一个个agent所连接起来形成
2、每一个agent相当于一个数据传递员Source 到 Channel 到 Sink之间传递数据的形式是Event事件;Event事件是一个数据流单元。
内部有三个组件:
a)Source:采集源,用于跟数据源对接,以获取数据
b)Sink:下沉地,采集数据的传送目的,用于往下一级agent传递数据或者往最终存储系统传递数据
c)Channel:angent内部的数据传输通道,用于从source将数据传递到sink
单个agent采集数据
多个agent直接串联采集数据
Flume的安装与使用
安装Flume之前确保安装了hadoop,假设是安装了hadoop的前提下,介绍Flume的安装,其实解压下就行了。
我这里使用的是apache-flume-1.6.0-bin.tar.gz,上传到linux,解压到指定包即可,我这里解压到了apps这个包,里面放了我解压的hadoo、hive和zookeeper,安装就完了。
注:其实在conf目录里面需要配置JAVA_HOME,但是我没配置使用也没问题的。如果出现问题了再配置看。
3台电脑安装netcat
yum install -y nc.x86_64
hadoop03在9999端口监听
nc -l 9999
hadoop05连接hadoop03,发送数据
nc hadoop03 9999
Flume的使用(一)
这里打算做的是,接收网络传输的数据。也就是flume(安装在mini1)的作用是,然后在mini2这台机器上,发送数据,mini1上能采集到,可以下沉到hdfs(为了方便,这里暂时打印在控制台)
注:为了方便我这里就在mini1这条机器打开两个窗口来进行发送和采集数据了。
进入到flume的conf目录下,创建文件,进行配置
[root@mini1 ~]# cd apps/apache-flume-1.6.0-bin/conf/
[root@mini1 conf]# ll
总用量 28
-rw-r--r--. 1 501 games 1661 5月 9 2015 flume-conf.properties.template
-rw-r--r--. 1 501 games 1110 5月 9 2015 flume-env.ps1.template
-rw-r--r--. 1 501 games 1214 5月 9 2015 flume-env.sh.template
-rw-r--r--. 1 501 game