Flume 是什么?

大数据 · 2019-06-24 · 199 人浏览

 Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;
同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力

 

 


收集、聚合事件流数据的分布式框架
通常用于log数据 
采用ad-hoc方案,明显优点如下:  
    可靠的、可伸缩、可管理、可定制、高性能 
    声明式配置,可以动态更新配置 
    提供上下文路由功能 
    支持负载均衡和故障转移 
    功能丰富 
    完全的可扩展

数据收集的框架

分布式流式实时收集日志文件系统,便于实时在线的流式计算,常配合 Storm 和 spark streming 使用。

Flume is a distributed分布式的, reliable可靠的, and available可用的 service for efficiently高效 collecting收集, aggregating聚合, and moving移动 large amounts of log data.
It has a simple简单 and flexible灵活 architecture结构 based on streaming流式 data flows. It is robust健壮 and fault tolerant容错 with tunable可调 reliability mechanisms机制 and many failover and recovery mechanisms. It uses a simple extensible可拓展 data model that allows for online analytic application.

架构图如下

角色作用
AgentFlume的客户端
EventFlume 数据传输的基本单元,由 [Header] 和 数据的 byte Array 构成,载有数据对Flume不透明;Header 是容纳了KEY_VALUE对的无序集合(Key是唯一的);Header 可以在上下文路由中使用拓展
Source用于收集数据,产生数据源的地方,并主动推送数据到 Channel 中
Channel数据管道,用于连接 sources 和 sinks ,可以连接多个Source(所谓的分布式),在管道前后增加过滤器可以清洗数据
Sink主动到 Channel 拉取数据,向目标源写数据,目标源可以使HDFS、HBase 也可以是下一个Source

Flume 配置

编辑配置文件的 $JAVA_PATH 就可以使用了

http://www.cnblogs.com/cenzhongman/

https://www.cnblogs.com/cenzhongman/p/7224116.html