设为首页 收藏本站
查看: 1031|回复: 0

[经验分享] flume组件汇总 source、sink、channel

[复制链接]

尚未签到

发表于 2015-9-17 08:03:11 | 显示全部楼层 |阅读模式
  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 ChannelEvent数据存储在内存中
JDBC ChannelEvent数据存储在持久化存储中,当前Flume Channel内置支持Derby
File ChannelEvent数据存储在磁盘文件中
Spillable Memory ChannelEvent数据存储在内存中和磁盘上,当内存队列满了,会持久化到磁盘文件(当前试验性的,不建议生产环境使用)
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可以是全限定类名或者是别名
  

  

  

  



来自为知笔记(Wiz)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-114606-1-1.html 上篇帖子: Flume组件汇总2 下篇帖子: Apache Flume
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表