简介
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。
flume架构
组件中名词解释:
- agent 是一个JVM进程,它以事件的形式讲数据从源头送至目的地
主要由三部分组成:- Source 负责接收数据到Flume,它可以处理各种类型,各种格式的日志,包括avro,thrift,netcat http 等等
- Channel 是位于Source和Sink之间的缓冲区,Channel是线程安全的,可以同时处理几个source的写入操作和几个sink的读取操作。Channel分为两种:Memory ,File 一个基于内存一个基于文件,基于内存的就不用说了,处理速度快,但是不保证数据 的完整性。
- Sink 不断的轮询Channel中的事件,处理完成之后,移除他们。Sink是完全事务型的,在Channel批量删除数据之前,每个Sink用Channel启动一个事务,