flume 三大核心组件
http://archive.cloudera.com/cdh5/cdh/5/ flume 下载地址
http://archive.cloudera.com/cdh5/cdh/5/flume-ng-1.6.0-cdh5.7.0/FlumeUserGuide.html 官方相关文档
http://flume.apache.org/FlumeUserGuide.html
http://flume.apache.org/releases/index.html flume 相关版本文档
=== FLUME 概述 ==
Apache Flume is a distributed(分布式), reliable(高可靠), and available(高可用的服务) system for efficiently collecting(收集),
aggregating(聚合) and moving(移动) large amounts of log data from many different sources to a centralized data store.
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(在线实时分析应用).
webserver(源端日志) ==>> flume(收集) ==>> HDFS(目的地)
flume 是由cloudera 提供的一个分布式、高可靠
高可用的服务,用于分布式的海量日志的高效收集 聚合、移动系统
flume的设计目标
可靠性
拓展性
管理性(agent)
业界同类产品的对比
Flume: cloudera /apache 基金会 java开发的
scribe : Facebook C/c++ 负载均和容错性不是太好,已经停止维护了
chukwa : Yahoo/apache java开发的 .负载均 已经停止维护了
kafka :
fluentd : Ruby
logstash :ELK
FLUME发展史
cloudera 0.9.2 --flume-og
flume-728 flume-ng -->> apache
2012.7 1.0
2015.5 1.6
~ 1.7
====Flume 三大核心组件及架构==
flume 总体架构图
flume 三大组件架构图
source 支持很多source类型,以下是经常用的类型
Avro Source 序列化
Exec Source
Spooling Directory Source (对文件夹进行监控的)
Kafka Source
NetCat TCP Source
NetCat UDP
channel: 负责日志暂时存储和聚合,不可能长时间停留在此
Memory Channel
事件存储在内存中
优点: 速度快
缺点: 同步挂了,内存中的事件就丢失了
Kafka Channel
File Channel
事件存储在文件中
失败了可以恢复
Pseudo Transaction Channel
Custom Channel
sink: 输出、转移存储channel中的数据
读取channel中的数据,然后推送到目的地(HDFS/Kafka)
Hive Sink
Logger Sink (控制台)
Avro Sink/Thrift sink
序列化,发送到指定的rpc端口
可以配置多层flume
File Roll Sink
Null Sink
HBaseSinks
HBaseSink
AsyncHBaseSink
MorphlineSolrSink
ElasticSearchSink(ES)
Kite Dataset Sink
Kafka Sink
HTTP Sink
三大组件是如何保证事务的呢?