大数据课程E1——Flume的概述

文章作者邮箱:[email protected]              地址:广东惠州

 ▲ 本章节目的

⚪ 了解Ganglia的概念;

⚪ 了解Ganglia的拓扑结构和执行流程;

⚪ 掌握Ganglia的安装操作;

一、简介

1. 概述

1. Flume原本是由Cloudera公司开发的后来贡献给了Apache的一套分布式的、可靠的、针对日志数据进行收集(collecting)、汇聚(aggregating)和传输(moving)的机制。

2. 在大数据中,实际开发中有超过70%的数据来源于日志 - 日志是大数据的基石。

3. Flume针对日志提供了非常简单且灵活的流式传输机制。

4. 版本:

a. Flume0.X:又称之为Flume-og。依赖于Zookeeper,结构配置相对复杂,现在市面上已经停用这个版本。

b. Flume1.X:又称之为Flume-ng。不依赖于Zookeeper,结构配置相对简单,是市面上常用的版本。

2. 基本概念

1. Event:

a. 在Flume中,会将收集到的每一条日志封装成一个Event对象 - 在Flume中,一个Event就对应了一条日志。

b. Event本质上是一个json串,固定的包含两部分:headers和body - Flume将收集到的日志封装成一个json,而这个json就是Event。Event的结构是{"headers":{},"body":""}。

2. Agent:是Flume流动模型的基本组成结构,固定的包含了三个部分:

a. Source:从数据源采集数据的 - collecting。

b. Channel:临时存储数据 - aggregating。

c. Sink:将数据写往目的地 - moving。

3. 流动模型/拓扑结构

1. 单级流动

大数据课程E1——Flume的概述_第1张图片

2. 多级流动

大数据课程E1——Flume的概述_第2张图片

3. 扇入流动

大数据课程E1——Flume的概述_第3张图片

4. 扇出流动

大数据课程E1——Flume的概述_第4张图片

5. 复杂流动:实际过程中,根据不同的需求来将上述的流动模型进行组合,就构成了复杂流动结构。

4. 执行流程

大数据课程E1——Flume的概述_第5张图片

1. Source会先采集数据,然后将数据发送给ChannelProcessor进行处理。

2. ChannelProcessor处理之后,会将数据交给Interceptor来处理,注意,在Flume允许存在多个Interceptor来构成拦截器链。

3. Interceptor处理完成之后,会交给Selector处理,Selector存在两种模式:replicating和multiplexing。Selector收到数据之后会根据对应的模式将数据交给对应的Channel来处理。

4. Channel处理之后会交给SinkProcessor。SinkProcessor本质上是一个Sinkgroup,包含了三种方式:Default,Failover和Load Balance。SinkProcessor收到数据之后会根据对应的方式将数据交给Sink来处理。

5. Sink收到数据之后,会将数据写到指定的目的地。

二、安装

1. 安装步骤

2. 参数

参数

解释

-n,--name

指定要运行的Agent的名字

-c,--conf

指定Flume运行的原生配置

-f,--conf-file

指定要运行的文件

-Dflume.root.logger

指定Flume本身运行日志的打印级别及打印方式

你可能感兴趣的:(flume,大数据)