【Java】Appache Flume 中文介绍

时间:2014-06-22 10:33:01   收藏:0   阅读:266


Flume 是什么

       Apache Flume是一个高可靠、高可用的分布式的海量日志收集、聚合、传输系统。它可以从不同的日志源采集数据并集中存储。

Flume也算是Hadoop生态系统的一部分,源于Cloudera,目前是Apache基金会的顶级项目之一。Flume有两条产品线,0.9.x版本和1.x版本。

官网:http://flume.appache.org/

核心概念

核心概念:Event

Event是Flume数据传输的基本单元。flume以事件的形式将数据从源头传送到最终的目的。Event由可选的hearders和载有数据的一个byte array构成。

  1. public interface Event {  
  2.     public Map<String, String> getHeaders();  
  3.     public void setHeaders(Map<String, String> headers);  
  4.     public byte[] getBody();  
  5.     public void setBody(byte[] body);  
  6. }  

核心概念:Client

Clinet是一个将原始log包装成events并且发送它们到一个或多个agent的实体。

核心概念:Agent

一个Agent包含Sources, Channels, Sinks和其他组件,它利用这些组件将events从一个节点传输到另一个节点或最终目的。

核心概念:Source

Source负责接收events或通过特殊机制产生events,并将events批量的放到一个或多个Channels。有event驱动和轮询2种类型的Source

核心概念:Channel

Channel位于Source和Sink之间,用于缓存进来的events,当Sink成功的将events发送到下一跳的channel或最终目的,events从Channel移除。

核心概念:Sink

Sink负责将events传输到下一跳或最终目的,成功完成后将events从channel移除。

Flow可靠性

                      bubuko.com,布布扣

               bubuko.com,布布扣

bubuko.com,布布扣
bubuko.com,布布扣

核心概念:Interceptor

用于Source的一组Interceptor,按照预设的顺序在必要地方装饰和过滤events。

核心概念:Channel Selector

Channel Selector允许Source基于预设的标准,从所有Channel中,选择一个或多个Channel

核心概念:Sink Processor

多个Sink可以构成一个Sink Group。一个Sink Processor负责从一个指定的Sink Group中激活一个Sink。Sink Processor可以通过组中所有Sink实现负载均衡;也可以在一个Sink失败时转移到另一个。

总结
bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣





【Java】Appache Flume 中文介绍,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!