概念
是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力
。分为两个版本,Flume OG和Flume NG。
架构
Event 由消息头和消息内容组成,消息头是可选的,是flume的基本数据单元,flume使用event对象作为数据传递的格式
Source 从client端手机数据,并把数据传递给channel,source操作的数据就是event
Channel 连接source和sink,event的临时存储区,保存由source传递过来的event,类似一个队列
Sink 从channel中读取并移除event,将event发送给source或持久化到数据库中
Agent 一个独立的flume进程,包含source、channel、sink,通常每台机器只能运行一个agent,一个agent中可以包含一个或多个source、channel、sink
Client 生产数据,把数据发送到agent,数据由source接收
数据流模型
Flume的数据流由Event贯穿始终。Event是Flume的基本数据流单位,Event由消息内容(a byte payload)和可选的消息头组成,消息头一系列字符串属性。Agent是Flume的最小的独立运行单位,由Source、Sink和Channel三大组件构成。
使用场景
多个agent顺序连接
多个agent汇集到一个agent
多路复用