Flume介绍安装

一Flume 概念

Flume是一个分布式的高可用的海量日志收集聚合传输系统;Flume传输数据的基本单元是event,这里面封装的就是传输的数据;Flume核心是Agent,agent是一个java进程,主要进行日志收集聚合和传输。它包含三个组件:

Source:数据的源头,我们从哪儿收集日志

Channel:是一个暂时存储传输的数据的event的一个临时的地方。

Sink:就是event的消费者,它将Channel的数据pull出来之后,写入拿到HDFS,HBase或者传给Kafka之类的

架构图如下:


流程图如下:


二Event 理解

Event是Flume数据传输的基本单元,也就是说Flume会把传输的数据封装在一个事件之中。

Event由headers和 body组成,headers是一个map,body是一个字节数组。一般body才是我们真正需要传输的数据,header的数据更多是传递的一些内部用的参数。

在source端封装event的时候,通过header识别不同的event,然后在sink的时候,我们就可以通过header中的key来将不同的event输出到对应的目标源

 

三 安装Flume

3.1解压

tar-zxf flume-ng-1.5.0-cdh5.3.6.tar.gz -C /opt/cdh-5.3.6/

 

3.2修改配置flume-env.sh

先根据flume提供的一个模板文件,进行重命名,然后修改:

cpflume-env.sh.template flume-env.sh

exportJAVA_HOME=/opt/modules/jdk1.7.0_67

 

3.3放Hadoop的一些jar包到lib目录下,因为默认flume是没有集成

commons-configuration-1.6.jar

hadoop-auth-2.5.0-cdh5.3.6.jar

hadoop-common-2.5.0-cdh5.3.6.jar

hadoop-hdfs-2.5.0-cdh5.3.6.jar

放到 $FLUME_HOME/lib

 

3.4如果HDFS 使用了HA,那么我们还还需要把core-site.xml和 hdfs-site.xml放到conf目录,那么就可以读到里面的一些配置了

 

四 配置文件定义agent的步骤

在conf目录下,提供了一个默认的配置模板flume-conf.properties.

Template我么rename 它为flume-conf.properties,然后进行配置。

4.1定义agent的SourceChannel Sink三各组件

agent.sources= src1

agent.channels= channel1

agent.sinks= sink1

 

4.2 定义src1
agent.sources.src1.type= netcat

agent.sources.src1.bind= hadoop09-linux

agent.sources.src1.port= 44444

 

4.3定义channel

agent.channels.channel1.type= memory

agent.channels.channel1.capacity= 1000

agent.channels.channel1.transactionCapacity= 100

 

4.4定义 sink1

agent.sinks.sink1.type= logger

 

4.5绑定source 和 sink 到 channel

agent.sources.src1.channels= channel1

agent.sinks.sink1.channel= channel1

 

 

五 flume-ng 参数介绍

命令选项

agent: 运行一个agent

avro-client:运行一个avroflume 客户端

全局选项

--conf:使用conf目录里的配置文件

--classpath添加classpath

-D设置java系统变量

Agent选项:

--name:agent的名字

--conf-file:指定配置文件

--zkConnString:指定使用zookeeper连接

--zkBasePath:指定一个基本路径在zookeeper

 

Avro客户端选项:

--rpcProps:rpc客户端带有连接属性的文件

--host:events发送到哪一个主机

--port:avro source的端口

--dirname:avro source stream目录

--filename:avro source stream 文件

 

六 启动测试

/opt/cdh-5.3.6/flume-1.5.0-cdh5.3.6/bin/flume-ngagent -c

../conf-n agent --file-name ../conf/flume-conf.properties

 

telnethadoop09-linux 44444

然后发送数据

如果在flume控制台收到说明成功了

然后退出telnet

Ctrl+]进入telnet 命令行模式,然后输入q


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫言静好、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值