Flume基础——配置参数详解

配置参数详解

在上面的配置文件中,我们使用了大量的配置,关于FLume的一些常见配置参数,在这里具体说明。

参数 说明
a1.sources.r1.type = exec 配置Source的类型,常见的类型有avro、exec和spooldir等
a1.sources.r1.command = tail -F /usr/logs/a.log 监听的文件的路径
a1.sources.r1.fileHeader = true 是否在event的Header中添加文件名,boolean类型, 默认false
a1.channels.c1.type = memory 组件类型名称,这里存储到内存中
a1.channels.c1.capacity = 1000 存储在Channel中的最大Event数量
a1.channels.c1.transactionCapacity = 100 每次从数据源Source接收或者提供给下沉地Sink的最大Event数
a1.sinks.k1.type = hdfs 组件类型名称,这里配置为HDFS
a1.sinks.k1.hdfs.path = /flume/events/ 写入到HDFS的文件路径
a1.sinks.k1.hdfs.filePrefix = events- 写入hdfs的文件名前缀,可以使用flume提供的日期及%{host}表达式。默认值:FlumeData
a1.sinks.k1.hdfs.fileSuffix = .log 写入hdfs的文件名后缀,比如:.lzo .log等。
a1.sinks.k1.hdfs.filePrefix = .tmp 临时文件的文件名后缀。默认值:.tmp。
a1.sinks.k1.hdfs.rollInterval = 0 hdfs sink间隔多长将临时文件滚动成最终目标文件,单位:秒;如果设置成0,则表示不根据时间来滚动文件;默认值:30。
a1.sinks.k1.hdfs.rollSize = 2000 当临时文件达到该大小(单位:bytes)时,滚动成目标文件;如果设置成0,则表示不根据临时文件大小来滚动文件;默认值:1024。
a1.sinks.k1.hdfs.rollCount = 0 当events数据达到该数量时候,将临时文件滚动成目标文件;如果设置成0,则表示不根据events数据来滚动文件;默认值:10。
a1.sinks.k1.hdfs.batchSize = 1000 每个批次刷新到HDFS上的events数量,默认是100。
a1.sinks.k1.hdfs.useLocalTimeStamp = true 是否使用当地时间
a1.sinks.k1.hdfs.fileType = DataStream 生成的文件类型,默认是 Sequencefile,可用 DataStream,则为普通文本
a1.sources.r1.interceptors = i1 自定义拦截器名称
a1.sources.r1.interceptors.i1.type = com.whty.flume.LogETLInterceptor$Builder 自定义拦截器具体调用类

备注:

  • hdfs sink会先往目标目录中写临时文件,再根据相关规则重命名成最终目标文件;
  • 滚动(roll)指的是hdfs sink将临时文件重命名成最终目标文件,并新打开一个临时文件来写入数据。

参考资料

官方网站: http://flume.apache.org/
用户文档: http://flume.apache.org/FlumeUserGuide.html
开发文档: http://flume.apache.org/FlumeDeveloperGuide.html

你可能感兴趣的:(Flume)