概述
- 本篇文章是根据Flume官网对Flume组件(Source,Channel,Sink)的常用配置参数做一个主要介绍,如有表达意思错误希望不吝指出。
Sources
- Flume中常用的Source有NetCat,Avro,Exec,Spooling Directory,Taildir,也可以根据业务场景的需要自定义Source,具体介绍如下。
NetCat Source
NetCat Source可以使用TCP和UDP两种协议方式,使用方法基本相同,通过监听指定的IP和端口来传输数据,它会将监听到的每一行数据转化成一个Event写入到Channel中。(必须参数以@标示,下类同)
Property Name Default Description channels@ – type@ – 类型指定为:netcat bind@ – 绑定机器名或IP地址 port@ – 端口号 max-line-length 512 一行的最大字节数 ack-every-event true 对成功接受的Event返回OK selector.type replicating 选择器类型replicating or multiplexing selector.* 选择器相关参数 interceptors – 拦截器列表,多个以空格分隔 interceptors.* 拦截器相关参数
Avro Source
不同主机上的Agent通过网络传输数据可使用的Source,一般是接受Avro client的数据,或和是上一级Agent的Avro Sink成对存在。
Property Name Default Description channels@ – type@ – 类型指定为:avro bind@ – 监听的主机名或IP地址 port@ – 端口号 threads – 传输可使用的最大线程数 selector.type selector.* interceptors – 拦截器列表 interceptors.* compression-type none 可设置为“none” 或 “deflate”. 压缩类型需要和AvroSource匹配
Exec Source
Exec source通过执行给定的Unix命令的传输结果数据,如,cat,tail -F等,实时性比较高,但是一旦Agent进程出现问题,可能会导致数据的丢失。
Property Name Default Description channels@ – type@ – 类型指定为:exec command@ – 需要去执行的命令 shell – 运行命令的shell脚本文件 restartThrottle 10000 尝试重启的超时时间 restart false 如果命令执行失败,是否重启 logStdErr false 是否记录错误日志 batchSize 20 批次写入channel的最大日志数量 batchTimeout 3000 批次写入数据的最大等待时间(毫秒) selector.type replicating 选择器类型replicating or multiplexing