1、扇出(fan out)指的是从一个source向多个channel,即向多个sink传递时间。
![](https://img.haomeiwen.com/i13381325/19907953894d862f.jpg)
![](https://img.haomeiwen.com/i13381325/ba4e9fc9d2369fcb.jpg)
2、交付保证
2.1、flume使用独立的事务来负责从spooling directory 到每一个channel的每批事件的传递。source到channel,channel到sink,任何一个事务失败,数据都不会从source删除,而是等待稍后重试
2.2、停止失败重试可以设置channel为optional
3、复制和复用选择器 可以实现某些事件发送到一个channel,另一些事件发送到另一个channel。source上设置一个复用器实现
4、要想实现flume事件汇聚,就需要使用分层结构的flume代理,第一层代理负责采集来自原始source的事件,并将它们发送到第二层。第二层代理的数量比第一层少,这些代理先汇总来自第一层和代理事件,再把这些事件写入sink
![](https://img.haomeiwen.com/i13381325/2adee304200b302e.jpg)
![](https://img.haomeiwen.com/i13381325/17fbecab550c8321.jpg)
![](https://img.haomeiwen.com/i13381325/e8cc8fd2abd1f34d.jpg)
4.1、需要用到特殊的sink在网络之间发送事件,再加上source来接收这些事件,avro sink thrift sink
5、sink组允许将多个sink当作一个sink来处理,以实现故障转移或者负责均衡,某个第二层代理不可用,将会传递给另外一个第二层代理
![](https://img.haomeiwen.com/i13381325/dc40c983e869fb8d.jpg)
5.1、处理器类型设置为load_balance,它视图在两个sink循环分发事件,可以通过皮肉车身搜人 selector属性来改变此设置,如果某个sink不可用,尝试下一个,两个都不可用,和单个情况一样,所以每一批被传递的事件,都会重试故障sink,可以设置processor.backoff属性来改变,列入sink黑名单,周期通过processor.selector.maxTimeOut来控制
6、flume与应用程序集成
网友评论