大数据技术之Flume
概述
Flume定义
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构(采集日志的单位是一行),灵活简单
Flume最主要的作用就是:实时读取服务器本地磁盘的数据,将数据写入HDFS
Flume的优点
-
可以与任意存储进程集成
-
输入的数据速率大于写入目的的存储速率,flume会进行缓冲,减小hdfs的压力
-
flume中的事务基于channel,使用了两个事务模型(sender+receiver),确保消息被可靠发送。
Flume使用两个独立的事务分别负责从soucrce到channel,以及从channel到sink的事件传递。一旦事务中所有的数据全部成功提交到channel,那么source才认为该数据读取完成。同理,只有成功被sink写出去的数据,才会从channel中移除
Flume的组成架构