Flume教程(一) Flume入门教程

Flume是Cloudera提供的日志采集、聚合和传输系统,适用于大规模数据收集。本文介绍了Flume的体系架构,包括Source、Sink和Channel,以及其特点和核心组件的工作原理。Flume在数据流中使用Event作为基本单位,通过Source获取数据,放入Channel缓冲,再由Sink处理并持久化或转发。此外,文章还提到了Flume对Hadoop和Zookeeper的依赖以及学习Flume的相关书籍推荐。
摘要由CSDN通过智能技术生成

 


Flume教程() Flume入门教程

 


1 Flume入门教程

FlumeCloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

当前Flume有两个版本Flume 0.9X版本的统称Flume-ogFlume1.X版本的统称Flume-ng。由于Flume-ng经过重大重构,与Flume-og有很大不同,使用时请注意区分。

Flume运行环境:机器必须安装JDK6.0以上的版本,并且Flume目前只有Linux系统的启动脚本,没有Windows环境的启动脚本。

 

1.1 体系架构

Flume的数据流由事件(Event)贯穿始终。事件是Flume的基本数据单位,它携带日志数据(字节数组形式)并且携带有头信息,这些EventAgent外部的Source生成,当Source捕获事件后会进行特定的格式化,然后Source会把事件推入(单个或多个)Channel中。你可以把Channel看作是一个缓冲区,它将保存事件直到Sink处理完该事件。Sink负责持久化日志或者把事件推向另一个Source

 

Flumeagent为最小的独立运行单位。一个agent就是一个JVM。单agentSourceSinkChannel三大组件构成,如下图:

 


1-1 数据流模型

 

组件

功能

Agent

使用JVM运行Flume。每台机器运行一个agent,但是可以在一个agent中包含多个sourcessinks

Client

生产数据,运行在一个独立的线程。

Source

Client收集数据,传递给Channel

Sink

Chan

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值