博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Using Flume要点
阅读量:6819 次
发布时间:2019-06-26

本文共 1196 字,大约阅读时间需要 3 分钟。

flume是什么

  • 可靠的,可扩展的大数据搬运系统,从数据生产者到数据最终目的地之间充当缓冲的角色,平衡数据生产者和消费者,提供稳定的流状态。

  • 主要的目的地以hdsf以及hbase为主。

  • 类似的有apache kafka以及facebook的scribe。

为什么要使用flume

  • 把数据存储到hdfs或者hbase并不是简单地调用api那样简单,这里得考虑各种复杂的场景,比如并发写入的量以及hdfs及hbase的系统压力,网络延迟等等问题。

  • flume设计为灵活的分布式系统,提供可定制化的管道,保证不会丢失数据,提供持久的channel

flume的构成

agent为其基本单元(每个agent包括source、channel、sink三大部分)

图片描述

source,负责捕获数据到agent

  • source拦截器,修改或删除事件

Avro Source

Exec Source
Spooling Directory Source
NetCat Source
Sequence Generator Source
Syslog Sources
Syslog TCP Source
Multiport Syslog TCP Source
Syslog UDP Source
HTTP Source

channel,一个缓冲区,负责在成功写入数据到sink之前,保存source已经接收的数据

  • channel过滤器/选择器(对事件应用过滤条件,决定事件应该写入到哪个source附带的channel中)

  • 内置channel

Memory Channel

File Channel
JDBC Channel

  • channel处理器(处理事件写入channel)

    图片描述

sink,负责从channel移走数据到目的地或下一个agent

  • sink运行器(事件处理分发)

  • sink组(包含多个sink)

  • sink处理器(从channel取数据写入到目的地)

    图片描述

  • 内置sink

HDFS Sink

Logger Sink
Avro Sink
IRC Sink
File Roll Sink
Null Sink
HBaseSinks
ElasticSearchSink

事件

flume把数据表示为事件,事件包括byte数组的主体以及map形式的报头(路由信息)

图片描述

拦截器

图片描述

  • 内置拦截器

Timestamp Interceptor

Host Interceptor
Static Interceptor
UUID Interceptor
Morpline Interceptor
Regex Filtering Interceptor
Regex Extractor Interceptor

适用场景

  • 数据可以表示为多个独立记录

  • 实时推送持续而且量级很大的数据流(如果每几个小时有几G的数据,不损害hdfs,没必要部署flume)

转载地址:http://kipzl.baihongyu.com/

你可能感兴趣的文章
对VM挂载新加入的磁盘
查看>>
MyEclipse *的安装步骤和破解(32位和64位皆适用)(图文详解)
查看>>
如何撤销 PhpStorm/Clion 等 JetBrains 产品的 “Mark as Plain Text” 操作 ?
查看>>
使用maven创建web项目
查看>>
第三十八章 springboot+docker(maven)
查看>>
构建单页面应用
查看>>
BZOJ4078 : [Wf2014]Metal Processing Plant
查看>>
变量的数据类型的转换
查看>>
codevs1022 覆盖[Hungary 二分图最大匹配]
查看>>
Deci and Centi Seconds parsing in java
查看>>
ES mlockall作用——preventing that memory from being paged to the swap area
查看>>
How those spring enable annotations work--转
查看>>
【SFTP】使用Jsch实现Sftp文件下载-支持断点续传和进程监控
查看>>
Mac系统中各个文件夹简单介绍(转)
查看>>
流媒体技术学习笔记之(八)海康、大华IpCamera RTSP地址和格式
查看>>
[React] Test friendly approach
查看>>
安卓解析 json 4种格式 全解析
查看>>
asd
查看>>
北斗有 35 颗卫星,而 GPS 有 24 颗卫星,为什么二者数量不同?
查看>>
php对gzip的使用(实例)
查看>>