Flume 总结(三)sources类型-1.9.0新版

Flume 总结(三)sources类型

1. 官网

  1. http://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.html
  2. 注意区分flume版本Flume 总结(三)sources类型-1.9.0新版
    Flume 总结(三)sources类型-1.9.0新版

2. sources

Flume 总结(三)sources类型-1.9.0新版

  1. avro sources
    Flume 总结(三)sources类型-1.9.0新版
    Flume 总结(三)sources类型-1.9.0新版

这里可以看出,这里使用的avro通用序列化协议,可以组成agent之间的级联
参数最重要就是黑色的, 端口和ip地址
注意这里涉及到拦截器和选择器
拦截器可以对数据做清洗,筛选,打标记
选择器可以根据event的标记,对数据做分发处理,可以有各种分发逻辑,如replicating和multiplexing等策略

  1. thrift source
    Flume 总结(三)sources类型-1.9.0新版
    Flume 总结(三)sources类型-1.9.0新版

顾名思义,这里可以采集来自thrift通用服务器的数据,可以组成agent之间的级联
这里最重要也是端口和ip
注意,这里也有拦截器和选择器,具体看1中解释
这里涉及到kerberos,这是大数据企业开发中,比较严格的权限管理时,使用的一种权限管理协议或者工具软件(它也是一个软件)
Flume 总结(三)sources类型-1.9.0新版

  1. exec source
    Flume 总结(三)sources类型-1.9.0新版
    Flume 总结(三)sources类型-1.9.0新版

注意,这里就是监视一个unix或者linux shell命令产生的数据
这里最重要就是执行的shell 指令
注意,因为这个source是无法进行事务保证的,一旦出错,数据会丢失,所以官方推荐了另外2个source,taildir source和spooling directory source

  1. JMS Source
    这是和activeMQ消息队列组件结合使用的,顾名思义。
    Flume 总结(三)sources类型-1.9.0新版
  2. JMS message converterFlume 总结(三)sources类型-1.9.0新版
  3. SSL and JMS SourceFlume 总结(三)sources类型-1.9.0新版
  1. JMSFlume 总结(三)sources类型-1.9.0新版
    注意,这里涉及到安全加密协议,SSL,实际企业大数据开发中,如果涉及到保险,银行等金融领域,很多时候如果数据不是内网传输,而是公网传输,一般都会采用加密协议来保证数据安全性。虽然这些数据主要是日志数据,但还是会进行加密处理。
  1. Spooling Directory SourceFlume 总结(三)sources类型-1.9.0新版
    Flume 总结(三)sources类型-1.9.0新版

这是一个可靠的source,可以保证数据不丢失,但可能重复
重点是文件夹的监视,文件夹中文件不能再放进去之后再改动或者修改名字,或者同名文件。所以适合已经产生的固定一批日志文件的采集。
注意这里也有拦截器和选择处理
这里还有采集后文件的处理策略,还有递归查找,还有batchSize,也就是一批读取采集数量,一般这类文件采集框架,很少会一条一条处理,一般都是一批一批处理,这样更加高效。具体可以类比java的缓冲流进行读写,包括linux文件流中的缓冲区机制,都是一样的道理。通过批处理来降低磁盘IO。这一点只要硬盘达不到内存的读写速度,就会一直存在。

  1. Taildir SourceFlume 总结(三)sources类型-1.9.0新版
  2. Flume 总结(三)sources类型-1.9.0新版

不能读取二进制文件
数据读取是可靠的,对文件的偏移量会进行记录来保证失败后可以重试‘
这里可以监视文件组,也就是可以监视文件夹以及其中多个文件
可以设置batchSize,可以根据文件对event中设置header标记,这里很适合一些公司中只有一个日志集群,日志文件并没有很好进行划分的场景,这时候只要不同业务日志放在不同文件夹或者文件中,就可以通过这里设置header中key,然后使用selector选择器进行数据区分分发

  1. Twitter 1% firehose Source (experimental)
    Flume 总结(三)sources类型-1.9.0新版

这是一个实验性质特性,了解即可,不要企业生产中使用

  1. Kafka Source
    Flume 总结(三)sources类型-1.9.0新版

可以读取kafaka中数据,一般按照topic进行读取
注意还有过期的特性
如果是kafaka集群,集群地址加端口,多个地址使用逗号隔开
注意kafaka中数据也可以使用偏移量,或者叫编号进行读取。
Flume 总结(三)sources类型-1.9.0新版
kafaka中数据读取的安全策略,可以使用kerberos或者ssl两种安全协议
注意,在大数据企业开发中,如果涉及到金钱如保险,支付,银行等领域,如果日志数据采用公网传输采集,这时候一般都会使用安全协议来保证日志数据传输安全性。
Flume 总结(三)sources类型-1.9.0新版
Flume 总结(三)sources类型-1.9.0新版

  1. NetCat TCP SourceFlume 总结(三)sources类型-1.9.0新版

简单的网络数据来源采集,TCP形式数据

  1. NetCat UDP SourceFlume 总结(三)sources类型-1.9.0新版

简单的网络数据来源采集,TCP形式数据

  1. Sequence Generator SourceFlume 总结(三)sources类型-1.9.0新版
  2. Syslog SourcesFlume 总结(三)sources类型-1.9.0新版
  • Syslog TCP Source
    Flume 总结(三)sources类型-1.9.0新版
  • Multiport Syslog TCP Source
    Flume 总结(三)sources类型-1.9.0新版
  • Syslog UDP Source
    Flume 总结(三)sources类型-1.9.0新版
  1. HTTP SourceFlume 总结(三)sources类型-1.9.0新版
    Flume 总结(三)sources类型-1.9.0新版
  2. Stress SourceFlume 总结(三)sources类型-1.9.0新版

适合做压力测试

  1. Legacy SourcesFlume 总结(三)sources类型-1.9.0新版
  • Avro Legacy Source
    Flume 总结(三)sources类型-1.9.0新版
  • Thrift Legacy Source
    Flume 总结(三)sources类型-1.9.0新版
  1. Custom Source
    Flume 总结(三)sources类型-1.9.0新版

自定义source

  1. Scribe SourceFlume 总结(三)sources类型-1.9.0新版

3. Deserializers

Flume 总结(三)sources类型-1.9.0新版

4. Handlers

Flume 总结(三)sources类型-1.9.0新版