十一、Flume事务管理
数据从客户端或者上一个sink进入当前的agent会触发一个事务,这种事务称为sourcetx。当事件在channel中持久化并收到确认信息后。sourcetx宣告结束。
在agent的范围内,第二个事务是sinktx,该事务开始于sink轮询数据。
十二、Flume的其他组件
1、channelProcessor(持久化channel数据)
2、interceptor(过滤)
3、channel selector(与interceptor类似)
4、sinkGroup(逻辑上的sink群组)
5、事件序列化(事件格式转化)
十三、上下文路由
事件由两个主要部分。即Header和Payload。Header中的值可以用来定义路由。可以决定路由选择的两个组件如下:
- channel
- sink
十四、Flume运行范例
具体操作,暂时不进行阐述
十五、适合使用flume的场景
- 下列情景可以选择使用flume:
- 从各种source获取数据并存储到hadoop系统中
- 高速地处理大量数据到hadoop系统中
- 可靠地传输数据到目的地
- 可扩展的解决方案,当数据涌入速度和数据增加时,只需增加机器就可以实现扩展
- 架构中的各个组件可以动态配置,而无需启停服务
- 整体架构的各种配置可以单点管理
十六、不适合使用flume的场景
- 更偏重数据处理而不是数据传输
- 更偏重批量数据传输
- 在不丢失数据的前提下需要更多可用的设置
- 需要高可扩展地对消息持久化
- 有大量的消费者,这对flume的可扩展性有很大的影响
十七、其他选项
1、apache flink
2、apache nifi