美文网首页
Flume 理论

Flume 理论

作者: 袭明 | 来源:发表于2018-07-05 19:04 被阅读28次

1. Flume 简介

Flume 是一个分布式的海量日志采集,聚合,转移工具。

大数据常用数据处理框架

graph LR
实时流数据采集--> flume,kafka
实时流数据处理--> spark,storm
实时数据查询处理--> impala
批数据导入导出-->Sqoop
批数据查询处理--> hive

这里只是给flume一个定位,清楚flume适合做哪方面的数据处理。

即:flume是基于数据流的组件来实现分布式的数据采集

flume使用简单,仅需写一个配置文件,即可完成一个分布式,高可用,可靠的实时数据流采集任务。

2.数据流模型

Data Flow Model

重要概念:

  • event:被定义为flume数据传输的基本单元,有消息头和消息体组成。
  • flow:指数据从源头到目的地的数据迁移过程。
  • Agent:一个独立的Flume进程,包含组件Source,Channel,Sink.(Agent使用JVM运行flume,每台机器运行一个agent,但可以在一个agent中包含多个sources和sinks)
  • Source:数据搜集组件。(source从client收集数据,传递给Channel)
  • Channel:连接source和Sink,类似一个队列
  • Sink:从Channel 中读取并移除event,将数据写到下一个目标源,可以是下一个source,也可以是HDFS。

Flume运行的核心是Agent.Flume以agent为最小的独立运行单位。一个agent包含三个核心组件,source,channel,sink.

2.1 Source

  • Source 负责数据的收集,将数据捕捉后进行处理,封装成event,传递给Channel。Flume提供了很多内置的source,支持Avro,log4j,syslog和http post,还支持自定义Source。

这里主要看下Avro,Spooling,Netcat,kafka

Source类型 说明
Avro 支持avro 协议
Spooling 监听本地文件夹,把新增的文件采集到flume
netcat 从网络端口接受文本数据(多用于测试调试)
kafka 用于从kafka中读取数据

2.2 Channel

  • Channel 是连接Source和Sink的组件,可以看做是一个数据的缓冲区,可以将数据暂存到内存中也可以持久化到本地磁盘上,直到Sink处理完该事件。比较常用的是Memory和File 两种类型的Channel.
Channel类型 说明
Memory Event 数据存储在内存中
File Event数据存储在磁盘文件中

2.3 Sink

  • Sink从Channel中取出event,然后将数据发送到别处,可以是另一个agent的Source,或HDFS。
Sink 类型 说明
logger 把数据输出成logger日志(测试调试)
hdfs 把数据写入hdfs
avro 发送到此接收器的flume event将转化为avro event 并发送至配置的主机名:端口号
kafka 将数据发送至kafka

相关文章

  • Flume 理论

    1. Flume 简介 Flume 是一个分布式的海量日志采集,聚合,转移工具。 大数据常用数据处理框架 这里只是...

  • Flume4:Flume理论和实战

    1.概述 1.Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。2.Flume可以采集文件,...

  • Flume01

    Flume架构组成 Flume 负载均衡 Flume Agent内部原理 启动 Flume 监听

  • Flume

    总结 一、Flume的定义 1、flume的优势 2、flume的组成 3、flume的架构 二、 flume部署...

  • 玩转大数据计算之Flume

    Flume版本:我们使用Flume最新的版本:Flume NG 1.7.0 Flume架构Flume是一个分布式的...

  • Flume 入门

    一:Flume是什么: 二:特点: 三:Flume版本介绍 四:Flume NG基本架构 五:Flume NG核心...

  • flume的部署和测试

    1 flume 安装 flume下载:http://flume.apache.org/download.htmlf...

  • 091-BigData-19Flume与Flume之间数据传递

    上一篇:090-BigData-18Flume Flume与Flume之间数据传递 一、单Flume多Channe...

  • java大数据之flume

    一、Flume简介 1.1 Flume的位置 1.2 Flume是什么 (1)Flume提供一种分布式的,可靠地,...

  • Flume(一)概述

    Flume图标 Flume图标 Flume定义 Apache Flume是一个分布式,可靠且可用的系统,用于有效地...

网友评论

      本文标题:Flume 理论

      本文链接:https://www.haomeiwen.com/subject/gcfmuftx.html