flume学习笔记
来源:互联网 发布:qq三国转职js转疾风 编辑:程序博客网 时间:2024/06/03 16:23
一、Flume介绍
Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力Flume提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIXtail)、syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。
二、Flume 工作方式
flume分flume-og和flume-ng.
Flume-og采用多Master的方式,引入了ZooKeeper,可以保存配置数据,ZooKeeper本身可保证配置数据的一致性和高可用,另外,在配置数据发生变化时,ZooKeeper可以通知FlumeMaster节点。
Flume Master间使用gossip协议同步数据。
FLume-ng则取消了集中管理配置的Master 和 Zookeeper,变为了一个纯粹的传输工具。
此外,其读入数据和写出数据由不同的工作线程处理由不同的工作线程处理。这也就意味着只要有数据,flume就会一直保持在传输状态,而不关心下游是否来得及处理数据,一旦数据量变大,则会造成数据积压,甚至磁盘空间撑爆。
三、Flume架构
Flume采用了分层架构:分别为agent,collector和storage。
agent里面包含3个核心组件:source、channel、sink。source是数据来源,sink是数据去向。
在整个数据传输过程中,流动的是event。事务保证是在event级别。
flume可以支持多级flume的agent,支持扇入(fan-in)、扇出(fan-out)。
(1) agent
agent的作用是将数据源的数据发送给collector。
Flume自带了很多直接可用的数据源(source),如:
·
·
·
同时提供了很多sink,如:
·
·
·
·
·
·
·
·
(2) collector
collector的作用是将多个agent的数据汇总后,加载到storage中。
它的source和sink与agent类似。
数据源(source),如:
·
·
·
sink,如:
·
·
(3)
storage是存储系统,可以是一个普通file,也可以是HDFS,HIVE,HBase,分布式存储等。
(4)
Master是管理协调agent和collector的配置等信息,是flume集群的控制器。
在Flume中,最重要的抽象是data flow(数据流),dataflow描述了数据从产生,传输、处理并最终写入目标的一条路径。
1.
2.
注:Flume框架对hadoop和zookeeper的依赖只是在jar包上,并不要求flume启动时必须将hadoop和zookeeper服务也启动。
- Flume学习笔记 --- Flume入门
- Flume学习笔记
- Flume学习笔记
- Flume学习笔记
- flume学习笔记
- Flume学习笔记
- flume学习笔记
- flume学习笔记一
- Flume 学习笔记 一 : Flume User Guide
- flume,kafka,storm学习笔记
- Spark学习笔记-Streaming-Flume
- hadoop学习笔记之flume
- Flume学习笔记 --- Flume内置source,channel, sink介绍
- Flume-ng+Kafka+storm的学习笔记
- Flume-ng+Kafka+storm的学习笔记
- Flume-ng+Kafka+storm的学习笔记
- Flume-ng+Kafka+storm的学习笔记
- Flume NG 学习笔记(一)简介
- docker底层实现
- docker镜像使用
- hadoop版本比较 【文章转载】
- 为什么要花钱买虚拟主机建站?旧手机建站才多少电费
- CDH 的Cloudera Manager免费与收费…
- flume学习笔记
- 使用sql获取目标表字段
- 抽取sql字段类型转换规范
- java任务调度框架Quartz讲解 java任务调度框架Quartz讲解
- HDFS【Hadoop分布式文件系统】
- HDFS使用QJM实现高可用(二)
- 【如何快速的开发一个完整的iOS直播app】(播放篇)
- 算法分析之Paxos 算法
- HDFS使用QJM实现高可用(一)