flume架构初接触

flume优点

1.存储数据到任何*数据库

2.进入数据速率大于写出速率,可以起到缓存作用,保证流的平稳

3.提供文本式路由

4.支持事务

5.可靠、容错、可伸缩、可定制、可管理

put的缺点

1.put命令一次只能put一个文件,不能满足文件告诉被生成的场景,需要实时传输数据

2.put命令操作文件时是固定的,不能是持续累加的

3.需要传递流动数据到hdfs,延迟很低

flume架构:水槽

1.  flume event

  header + payload(byte array)

2.  flume agent

  是独立的守护进程,从client(source)接收数据,转发给sink或者agent

3.  flume三个组件

[source]

  从数据生成器几首数据,以flume event形式传递给一个或多个channel

[channel]

  临时存放source传递过来的event数据,缓存到sink消费为止,是source和sink之间的桥梁

[sink]

存储数据到hdfs/hbase,从channel提取数据(event),分发到目的地,sink的目的地可以是另个agent,也可以是*存储

  注意:一个agent可以有多个source,sink和channel

[interceptor]

拦截器,在source和channel监控数据

[channel选择器]

  在多通道情况下,采用哪个通道来传递数据,有两种类型通道选择器

  Default channel selectors:

    通道中复制每个事件

  Multiplexing channel selectors:

    通过判断event的heard信息,决定通道来发送数据

[sink processor]

  沉槽处理器,从sink组中选择一个特定的sink进行调用,可以为sink创建容灾路径或者在多个sink之间实现负载军坑

[collector]

  在agent后方运行

[multi-hop]

  多级跳转,从sink到agent

[fan-out]

   从一个source到多个channel

[fan-in]

  从多个source到一个channel

错误处理

  涉及两个事务,sender端和receiver端

  sender端只有在接收到receiver的提交信号才提交事务

上一篇:Word 查找替换高级玩法系列之 -- 段首批量添加字符


下一篇:PXC的原理