FlumeAgent内部原理-宇飞

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FlumeAgent内部原理-宇飞
为什么不直接从源系统写⼊到Hadoop集群呢?这是因为原系统有成千上万的机器,实时写⼊到HDFS时,namenode会产⽣很多⼩⽂件,对hadoop压⼒会⾮常⼤。

所以引⼊了中间系统--Flume。

Flume真正做的是实时推送事件,数据流是持续且量级很⼤的情况。

Flume把数据理解成⼀条条事件。

每个Flume Agent都包含三个主要组件:Source、Channel、Sink,下图是Flume Agent架构图
⼀、Source组件
是从⼀些其他产⽣数据应⽤中接收数据。

有⾃⼰产⽣数据的source,不过这些Source通常⽤于测试⽬的。

Source可以监听⼀个或多个⽹络端⼝,⽤于接收数据或者可以从本地⽂件系统读取数据。

每个source必需⾄少连接⼀个Channel。

下图是Source、选择器、拦截器的交互过程
⼆、Channel
⼀般来说,channcel是被动组件。

sink从channel中读取数据。

三、Sink组件
四、配置Flume Agent
采⽤属性⽂件格式
k1 = v1
k2 = v2
在Flume Agent中有⼀些组件可以有若⼲实例,像Source、Sink、Channel等,需要对这些组件进⾏命名。

配置⽂件必需使⽤下⾯格式列出Source、Sink、Channel组的名称,该列表称为活跃列表:
agent1.sources = source1 source2
agent1.sinks = sink1 sink2 sink3 sink4
agent1.sinkgroups = sg1 sg2
agent1.channels = channel1 channel2
上⾯的配置⽚段表⽰名为agent1的Flume Agent。

带有两个Source,两个Sink组、两个channel、四个sink。

相关文档
最新文档