Flume Source

Source类型 说明
Avro Source 支持Avro协议(实际上是Avro RPC),内置支持
Thrift Source 支持Thrift协议,内置支持
Exec Source 基于Unix的command在标准输出上生产数据
JMS Source 从JMS系统(消息、主题)中读取数据,ActiveMQ已经测试过
Spooling Directory Source 监控指定目录内数据变更
Twitter 1% firehose Source 通过API持续下载Twitter数据,试验性质
Netcat Source 监控某个端口,将流经端口的每一个文本行数据作为Event输入
Sequence Generator Source 序列生成器数据源,生产序列数据

Syslog Sources

syslogtcp

multiport_syslogtcp

syslogudp

读取syslog数据,产生Event,支持UDP和TCP两种协议
HTTP Source 基于HTTP POST或GET方式的数据源,支持JSON、BLOB表示形式
Legacy Sources
兼容老的Flume OG中Source(0.9.x版本)
Avro Legacy Source

Thrift Legacy Source

Scribe Source

Custom Source
自定义Source

Flume Sink

Sink类型 说明
HDFS Sink 数据写入HDFS
Logger Sink 数据写入日志文件
Avro Sink 数据被转换成Avro Event,然后发送到配置的RPC端口上
Thrift Sink 数据被转换成Thrift Event,然后发送到配置的RPC端口上
IRC Sink 数据在IRC上进行回放
File Roll Sink 存储数据到本地文件系统
Null Sink 丢弃到所有数据
HBase Sink 数据写入HBase数据库
Morphline Solr Sink 数据发送到Solr搜索服务器(集群)
ElasticSearch Sink 数据发送到Elastic Search搜索服务器(集群)
Kite Dataset Sink 写数据到Kite Dataset,试验性质的
Custom Sink 自定义Sink实现

Flume Channel

Channel类型 说明
Memory Channel Event数据存储在内存中
JDBC Channel Event数据存储在持久化存储中,当前Flume Channel内置支持Derby
File Channel Event数据存储在磁盘文件中
Spillable Memory Channel Event数据存储在内存中和磁盘上,当内存队列满了,会持久化到磁盘文件(当前试验性的,不建议生产环境使用)
Pseudo Transaction Channel 测试用途
Custom Channel 自定义Channel实现

Channel Selector

Sink Processor

Event Serializer

Event Deserializers

在source组件上指定,反序列化,将输入(文件、流)解析成event的方式,

Deserializer类型 说明
LINE 默认值,将文本输入的每行转换成一个event
AVRO 读取avro文件,将其中的每条avro记录转换成一个event,每个event都附带着模式信息
BlobDeserializer 将整个二进制大数据转换成一个evnt,通常一个BLOB就是一个文件,比如PDF、JPG

比如:

1
2
a1.sources=s1
a1.sources.s1.deserializer=LINE

注意:

LINE有个设置每行字符个数的属性:deserializer.maxLineLength,默认是2048,大于这个字符数的行将被截断。

BlobDeserializer有个设置文件大小的属性:deserializer.maxBlobLength默认是100000000(大约95M),大于这个值的文件将被拆分成多个文件。

Event Serializers

在sink组将上指定,序列化,将event对象转换成文件的方式。

Serializer类型 说明
TEXT(Body Text Serializer) 默认值,将event中body里的数据不做改变的转换成输出流,event的header将被忽略
AVRO_EVENT(Avro Event Serializer) 将event转换成avro文件
BlobDeserializer 将整个二进制大数据转换成一个evnt,通常一个BLOB就是一个文件,比如PDF、JPG

Interceptor

拦截器可以修改或删除event。

拦截器可以组成拦截器链,中间用空格分隔,拦截器的配置顺序即是它们的执行顺序。

Handler类型 说明
Timestamp Interceptor
向event header中添加了timestamp变量,值是时间戳
Host Interceptor
向event header中添加了host变量,可以通%{host}引用(比如在HDFS sink中的路径占位符)
Static Interceptor
配置一个静态的值到event header里,多个静态值需要配多个static interceptor
UUID Interceptor
向event header里添加变量id,值是随机生成的uuid,可以用这个唯一标识一个event
Morphline Interceptor
使用morphline配置文件过滤event。
Regex Filtering Interceptor
使用正则表达式过滤(include或exclude)event。
Regex Extractor Interceptor 使用正则表达式来向header中添加key、value。

配置实例:

1
2
3
4
5
6
a1.sources=s1
...
a1.sources.s1.interceptors=i1 i2
a1.sources.s1.interceptors.i1.type=host
a1.sources.s1.interceptors.i1.hostHeader=host
a1.sources.s1.interceptors.i2.type=timestamp

type可以是全限定类名或者是别名

flume组件汇总 source、sink、channel的更多相关文章

  1. Flume组件汇总2

    Component Interface Type Alias Implementation Class org.apache.flume.Channel memory org.apache.flume ...

  2. Flume组件

    1.什么是Flume:apache顶级项目,主要用来做数据采集.分布式.高可用,将海量日志进行采集.聚合.传输的系统.能够对数据进行简单处理在发送到接收方. 2.Flume组件:source.chan ...

  3. Flume NG中的Kafka Channel

    kafka(官网地址:http://kafka.apache.org)是一款分布式消息发布和订阅的系统 在Flume中的KafkaChannel支持Flume与Kafka整合,可以将Kafka当做ch ...

  4. Hadoop生态圈-Flume的组件之自定义Sink

    Hadoop生态圈-Flume的组件之自定义Sink 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要介绍sink相关的API使用两个小案例,想要了解更多关于API的小技 ...

  5. Hadoop生态圈-Flume的主流source源配置

    Hadoop生态圈-Flume的主流source源配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客只是配置的是Flume主流的Source,想要了解更详细的配置信息请参 ...

  6. Flume实时监控目录sink到hdfs,再用sparkStreaming监控hdfs的这个目录,对数据进行计算

    目标:Flume实时监控目录sink到hdfs,再用sparkStreaming监控hdfs的这个目录,对数据进行计算 1.flume的配置,配置spoolDirSource_hdfsSink.pro ...

  7. 【Hadoop】10、Flume组件

    目录 Flume组件安装配置 1.下载和解压 Flume 2.Flume 组件部署 3.使用 Flume 发送和接受信息 Flume组件安装配置 1.下载和解压 Flume # 传Flume安装包 [ ...

  8. Flume 组件安装配置

    下载和解压 Flume 实验环境可能需要回至第四,五,六章(hadoop和hive),否则后面传输数据可能报错(猜测)! 可 以 从 官 网 下 载 Flume 组 件 安 装 包 , 下 载 地 址 ...

  9. 泛函编程(36)-泛函Stream IO:IO数据源-IO Source & Sink

    上期我们讨论了IO处理过程:Process[I,O].我们说Process就像电视信号盒子一样有输入端和输出端两头.Process之间可以用一个Process的输出端与另一个Process的输入端连接 ...

随机推荐

  1. 声反馈抑制使用matlab/simulink仿真

    第一份工作时做啸叫抑制的仿真,调大0.3可以有大的啸叫产生,下图的SIMULINK仿真模型 实现移相有多种方法: 1.iir实现 2.FFT实现 3.使用FIR实现 所有信号均可以由正弦信号叠加而成.

  2. C语言中全局结构体指针隐含的错误

    前天在嵌入式系统上,调试一个数组的全局变量时,发现该变量一直会动态变化.深入分析, 才发现该全局结构体没有申请内存,而是用了一个指针.这种情况编译器是检查不出来的,在linux 上运行会挂掉,但是在裸 ...

  3. NHibernate删除数据时遇到deleted object would be re-saved by cascade级联问题

    今天在处理数据时遇到了这个问题,数据是一对多的关系,A包含多个B,想将某个B从A中移除,在保存时抛出如标题的问题,查找了下资料得知:由于在配置文件中设置了cascade为all,A和B存在级联关系,那 ...

  4. Spring Boot定制启动图案

    启动图案 Spring Boot在启动的时候会显示一个默认的Spring的图案,对应的类为SpringBootBanner. . ____ _ __ _ _ /\\ / ___'_ __ _ _(_) ...

  5. Keras 资源

    Keras中文文档 github Keras example 官方博客 A ten-minute introduction to sequence-to-sequence learning in Ke ...

  6. [CTSC1999] 家园

    使用并查集判断无解. 令月球是n+1,地球是0 枚举时长t,将点(地球.月球以及太空站)i拆为t个点(i,j)表示第j时刻的点i. 对于太空船云云建图,容量是h[i]. 源点S和(0,0)连边,容量k ...

  7. Oracle.ManagedDataAccess 提示ORA-01017 错误【解决方案】

    Oracle.ManagedDataAccess 提示ORA-01017 错误[解决方案] Oracle.ManagedDataAccess 提示ORA-01017 错误[解决方案] [HKEY_LO ...

  8. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十四):权限控制(Shiro 注解)

    在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 当前,我们基于导航菜单的显示和操作按钮的禁用状态,实现了页面可见性和 ...

  9. solr单机部署tomcat

    所需软件:solr4.8.1.Tomcat7 下载完相应软件后开始单机部署(windows下) 在F盘根目录创建solr文件夹,并解压solr4.8和tomcat7到该文件夹 在F盘根目录创建solr ...

  10. BizTalk 新增/修改/删除 XmlDocument 名字空间的高效方法

    新增一个名字空间 public class AddXmlNamespaceStream : XmlTranslatorStream { private String namespace_; priva ...