Flume官方文档阅读01

Flume1.9用户指南

介绍
概述:
Apache Flume是一个分布式的、可靠的、易获得的系统,用于从多个不同来源高效收集、聚合、移动大规模日志数据到一个中心化的数据仓库。
Apache Flume的作用不仅仅局限在日志数据的聚合,由于数据源是可定制的,Flume可以用于大量事件数据的传输,包括网络流量数据、社交媒体生成的数据、电子邮箱数据和许多可能的数据来源。

系统要求:
1、JRE-1.8及以上
2、内存-足够的内存用来配置sources、channels、sinks
3、磁盘空间-足够的磁盘空间用于配置channels、sinks
4、文件权限-agent拥有读写文件的权限

结构:
数据流模型:
Flume事件定义为具有字节有效负载和可选字符串属性集合的数据流单元。Flume代理是一个虚拟机进程,它承载着事件从一个外部来源流向下一个目标点的组件。

Flume source消费外部源(比如web server)传递给它的事件。外部源使用目标源能够识别的格式向Flume发送事件。比如,Avro(序列化) Flume源可以用于从Avro客户端或者从Avro sink发送事件的流中的其他Flume代理接收Avro事件。可以使用Thrift Flume Source 定义类似的流来从Thrift Sink或Flume Thrift RPC客户端或者Thrift客户端接收事件,这些客户端可以是Flume Thrift协议生成的任何语言编写的。当一个Flume Source接收到一个事件,source会把事件存在一个或多个channel中。channel是一个被动的存储器,他可以存储事件直到其被Flume sink消耗。比如file channel,它由本地文件系统支持。sink从channel中移除事件,并将其存储在一个外部存储库,比如HDFS(通过Flume HDFS sink)或者将其发送到流中下一个Flume代理的Flume source。给定代理中的source和sink与通道中暂存的事件异步进行。

复杂的流:
Flume允许用户建立一个多跃点的流,在这个流中,事件需要经过多个Flume代理才能到达最终目的地。Flume也允许扇入和扇出流、上下文路由和故障跳跃的备份路由(故障转移)。

可靠性:
事件运行在每个代理的channel中。然后将事件传递到流中的下一个代理或者终端存储库(HDFS)。事件只有在下一个代理的channel中运行后或存储在终端存储库之后才会从channel中移除。这就是Flume中单节点消息传递语义如何保证流中端到端的可靠性。

Flume使用事务方法来保证事件传递的可靠性。source和sink分别在事务中封装由信道提供的事务中放置或提供的事件的存储/检索。这确保了事件的集合可以可靠的从流中的一个点传递到另一个点。在多节点流中,前一个跃点到sink和后一个跃点到source运行着事务来确保数据安全的运行在下一个跃点到channel中。

可恢复性:
事件运行在channel中,channel管理从故障的回复,Flume支持持久文件channel,这由本地文件系统支撑。还有内存channel,它将事件简单点存储在内存队列中,这很快速,但是当代理进程死亡时仍在内存channel中的事件无法恢复。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值