Flume NG 架构

介绍

 

     Apache的Flume是一个分布式的,质量可靠,可有效地收集,汇总和来自许多不同来源的大量日志数据到集中的数据存储系统。目前,Flume是在Apache项目孵化。

 

架构

 

     数据流模型

 

     Flume事件被定义为一个数据流的单位,有一个字节的有效载荷和一个可选字符串属性。Flume Agent是一个(JVM进程,连接数据源及数据源的下一个目的地。

 

     Flume处理Web服务器的外部源的事件。外部源发送事件按照Flume源可以识别的格式。 例如:Avror的Flume 源,可以用来接收Avro的客户端或Flume代理。当Flume源接收到一个事件,它存储到一个或多个通道。通道是一个被动的存储,直到被Flume Sink处理。 JDBC的通道就是一个例子 - 它使用文件系统支持数据库。Sink从通道获得事件 ,放到像HDFS的外部库(通过Flume HDFS Sink)或转发到下Flume代理(下一跳)。在代理内部,Source与Sink异步传输通过通道。

 

     复杂流

 

     Flume到达最终目的地之前,允许用户建立多跳流活动,通过多个代理。它还允许扇入和扇出流量,内容路由和备份路由以防失败(故障转移)。

 

     可靠性

 

     在每个代理中都会存在事件,事件在通道中。事件在流中存在,然后传送到下一个代理或终端库(如HDFS)。只有在下一个代理通道或终端库存储才从通道中删除事件。这是一个单跳消息传递语义在Flume中提供端至端的流的可靠性。Flume使用事务的方式,以保证可靠的交付事件。源和Sink的封装在一个事务中存储/检索,分别放置在通道中。这将确保事件集可靠地传递从点到点。在一个多跳的流中,前一跳及源的下一跳的情况下都有其事物的运行,以确保数据的安全存储通道。


    可恢复

    事件存储在通道中,可以从失败中恢复。Flume支持持久的JDBC通道,这是一个关系数据库支持。还有一个内存通道,它只是存储在内存中的队列,这使得速度更快,但仍留在内存通道不能恢复。

 

 

 

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值