flume简介和入门使用
flume简介和入门使用
flume简单介绍和初步使用
flume 简介
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。
flume 最主要的作用就是实时读取本地或者网络的数据,将数据写到hdfs上。
flume 几个优点:
1.可以和任意存储进程集成。
2.输入的的数据速率大于写入目的存储的速率,flume会进行缓冲,减小hdfs的压力。
3.flume中的事务基于channel,使用了两个事务模型(sender + receiver),确保消息被可靠发送。
Flume使用两个独立的事务分别负责从soucrce到channel,以及从channel到sink的事件传递。一旦事务中所有的数据全部成功提交到channel,那么source才认为该数据读取完成。同理,只有成功被sink写出去的数据,才会从channel中移除。
flume 角色介绍
1.总体架构图
2.详细架构逻辑图
3.Agent
Agent是一个JVM进程,它以事件的形式将数据从源头送至目的。
Agent主要有3个部分组成,Source、Channel、Sink。
3.1 Source
Source是负责接收数据到Flume Agent的组件。Source组件可以处理各种类型、各种格式的日志数据,包括avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、htt