dairui130

导航

Flume source 支持的type类型

  Flume是一个分布式的高可用的消费组件。通过修改配置文件,可以启动不同的agent处理不同来源的数据。

agent包含source,channel,sink三个组件。今天我们学习下source的type。

 

1. spooldir

#描述/配置Source
a1.sources.r1.type  = spooldir
a1.sources.r1.spoolDir=/home/park/work/apache-flume-1.6.0-bin/mydata

  向指定目录中传输文件,发现flume收集到了该文件,将文件中的每一行都作为日志来处理

 

2.NetCat Source

   一个NetCat Source用来监听一个指定端口,并将接收到的数据的每一行转换为一个事件。

  !type–   类型名称,需要被设置为"netcat"

  !bind–   指定要绑定到的ip或主机名。

  !port–   指定要绑定到的端口号

  max-line-length   512单行最大字节数

 

3.Avro Source

  监听AVRO端口来接受来自外部AVRO客户端的事件流。利用Avro Source可以实现多级流动、扇出流、扇入流等效果。另外也可以接受通过flume提供的Avro客户端发送的日志信息。

  !type  –   类型名称,"AVRO"

  !bind  –   需要监听的主机名或IP

  !port  –   要监听的端口

  threads    –   工作线程最大线程数

  selector.type     

  selector.*     

  interceptors  –   空格分隔的拦截器列表

  interceptors.*        

  compression-type  none   压缩类型,可以是“none”或“default”,这个值必须和AvroSource的压缩格式匹配

  sslfalse  是否启用ssl加密,如果启用还需要配置一个“keystore”和一个“keystore-password”。

  keystore   –   为SSL提供的java密钥文件所在路径。

  keystore-password–   为SSL提供的java密钥文件 密码。

  keystore-typeJKS密钥库类型可以是“JKS”或“PKCS12”。

  exclude-protocolsSSLv3  空格分隔开的列表,用来指定在SSL / TLS协议中排除。SSLv3将总是被排除除了所指定的协议。

  ipFilter   false  如果需要为netty开启ip过滤,将此项设置为true

  ipFilterRules–   定义netty的ip过滤设置表达式规则

#描述/配置Source
    a1.sources.r1.type  =  avro
    a1.sources.r1.bind  =  0.0.0.0
    a1.sources.r1.port  =  44444

 

4.HTTP Source

  HTTP Source接受HTTP的GET和POST请求作为Flume的事件,其中GET方式应该只用于试验。

  该Source需要提供一个可插拔的"处理器"来将请求转换为事件对象,这个处理器必须实现HTTPSourceHandler接口,该处理器接受一个 HttpServletRequest对象,并返回一个Flume Envent对象集合。

  从一个HTTP请求中得到的事件将在一个事务中提交到通道中。因此允许像文件通道那样对通道提高效率。

  如果处理器抛出一个异常,Source将会返回一个400的HTTP状态码。

  如果通道已满,无法再将Event加入Channel,则Source返回503的HTTP状态码,表示暂时不可用。

  !type    类型,必须为"HTTP"

  !port–   监听的端口

  bind   0.0.0.0    监听的主机名或ip

  handler      org.apache.flume.source.http.JSONHandler处理器类,需要实现HTTPSourceHandler接口

  handler.*  –   处理器的配置参数

  selector.type

  selector.*   

  interceptors  –  

  interceptors.*        

  enableSSL  false  是否开启SSL,如果需要设置为true。注意,HTTP不支持SSLv3。

  excludeProtocols  SSLv3  空格分隔的要排除的SSL/TLS协议。SSLv3总是被排除的。

  keystore      密钥库文件所在位置。

  keystorePassword Keystore 密钥库密码

#描述/配置Source
    a1.sources.r1.type  = http
    a1.sources.r1.port  = 66666

 

posted on 2019-02-28 11:42  dairui130  阅读(1737)  评论(0编辑  收藏  举报