设为首页 加入收藏

TOP

Flume 初探
2019-09-24 18:11:19 】 浏览:50
Tags:Flume 初探
Apache 是一个高可用、高可靠的,分布式的海量日志采集、聚合、传输系统,基于流式架构,灵活简单。 Flume 最主要的作用就是实时读取服务器本地磁盘的数据,将数据写入HDFS中。 Flume组成架构详解: Source输入端常用的类型有:spooling directory、exec、avro、syslog、netcat 等 Put事务的流程: doPut:将批数据先写入临时缓冲区putList doCommit:检查channel内存队列是否足够合并 doRollback;channel内存队列空间不足,回滚数据 Channel是位于Source和Sink之间的缓冲区,Flume自带两种channel:MemoryChannel和FileChannel MemoryChannel是基于内存的缓存,在不需要关心数据丢失的情景下使用。 FileChannel是Flume的持久化Channel,系统宕机不会丢失数据。 Take事务: doTake:先将数据取到临时缓冲区takeList doCommit:如果数据发送成功,则清除临时缓冲区的takeList doRollback:数据发送过程中如果出现异常,rollback将临时缓冲区takeList中的数据归还给channel内存队列 Sink组件常见的目的地包括: HDFS、Kafka、avro、logger、File、自定义。 Sink不断地轮询Channel中的事件且批量地移除它们,并将这些事件批量写入到存储或索引系统、或者被发送到另一个Flume Agent。 Sink是完全事务性的。在从Channel批量删除数据之前,每个Sink用Channel启动一个事务。批量事件一旦成功写出到存储系统或下一个Flume Agent,Sink就利用Channel提交事务。事务一旦被提交,该Channel从自己的内部缓冲区删除事件。 Sink组件目的地包括hdfs、logger、avro、thrift、ipc、file、null、HBase、solr、自定义。 Agent是一个JVM进程,是flume数据传输的基本单元 Agent主要有3个部分组成,Source、Channel、Sink。
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇数据库-如何创建SQL Server身份验.. 下一篇NodeManager概述(基本职能和内部..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目