flume采集中HDFS参数解析

就是个备忘录,方便以后直接查阅,不用再网上找了!!!!

配置解析

Flume中的HDFS Sink应该是非常常用的,其中的配置参数也比较多,在这里记录备忘一下。

  • channel
  • type  :hdfs
  • path

写入hdfs的路径,需要包含文件系统标识,比如:hdfs://namenode/flume/webdata/

可以使用flume提供的日期及%{host}表达式。

  • filePrefix

默认值:FlumeData

写入hdfs的文件名前缀,可以使用flume提供的日期及%{host}表达式。

  • fileSuffix

写入hdfs的文件名后缀,比如:.lzo .log等。

  • inUsePrefix

临时文件的文件名前缀,hdfs sink会先往目标目录中写临时文件,再根据相关规则重命名成最终目标文件;

  • inUseSuffix

默认值:.tmp

临时文件的文件名后缀。

  • rollInterval

默认值:30

hdfs sink间隔多长将临时文件滚动成最终目标文件,单位:秒;

如果设置成0,则表示不根据时间来滚动文件;

注:滚动(roll)指的是,hdfs sink将临时文件重命名成最终目标文件,并新打开一个临时文件来写入数据;

  • rollSize

默认值:1024

当临时文件达到该大小(单位:bytes)时,滚动成目标文件;

如果设置成0,则表示不根据临时文件大小来滚动文件;

  • rollCount

默认值:10

当events数据达到该数量时候,将临时文件滚动成目标文件;

如果设置成0,则表示不根据events数据来滚动文件;

  • idleTimeout

默认值:0
当目前被打开的临时文件在该参数指定的时间(秒)内,没有任何数据写入,则将该临时文件关闭并重命名成目标文件;

  • batchSize

默认值:100

每个批次刷新到HDFS上的events数量;

  • codeC

文件压缩格式,包括:gzip, bzip2, lzo, lzop, snappy

  • fileType

默认值:SequenceFile

文件格式,包括:SequenceFile, DataStream,CompressedStream

当使用DataStream时候,文件不会被压缩,不需要设置hdfs.codeC;

当使用CompressedStream时候,必须设置一个正确的hdfs.codeC值;

  • maxOpenFiles

默认值:5000

最大允许打开的HDFS文件数,当打开的文件数达到该值,最早打开的文件将会被关闭;

  • minBlockReplicas

默认值:HDFS副本数

写入HDFS文件块的最小副本数。

该参数会影响文件的滚动配置,一般将该参数配置成1,才可以按照配置正确滚动文件。

待研究。

  • writeFormat

写sequence文件的格式。包含:Text, Writable(默认)

  • callTimeout

默认值:10000

执行HDFS操作的超时时间(单位:毫秒);

  • threadsPoolSize

默认值:10

hdfs sink启动的操作HDFS的线程数。

  • rollTimerPoolSize

默认值:1

hdfs sink启动的根据时间滚动文件的线程数。

  • kerberosPrincipal

HDFS安全认证kerberos配置;

  • kerberosKeytab

HDFS安全认证kerberos配置;

  • proxyUser

代理用户

  • round

默认值:false

是否启用时间上的”舍弃”,这里的”舍弃”,类似于”四舍五入”,后面再介绍。如果启用,则会影响除了%t的其他所有时间表达式;

  • roundValue

默认值:1

时间上进行“舍弃”的值;

  • roundUnit

默认值:seconds

时间上进行”舍弃”的单位,包含:second,minute,hour

示例:

a1.sinks.k1.hdfs.path = /flume/events/%y-%m-%d/%H%M/%S

a1.sinks.k1.hdfs.round = true

a1.sinks.k1.hdfs.roundValue = 10

a1.sinks.k1.hdfs.roundUnit = minute

当时间为2015-10-16 17:38:59时候,hdfs.path依然会被解析为:

/flume/events/20151016/17:30/00

因为设置的是舍弃10分钟内的时间,因此,该目录每10分钟新生成一个。

  • timeZone

默认值:Local Time

时区。

  • useLocalTimeStamp

默认值:flase

是否使用当地时间。

  • closeTries

默认值:0

hdfs sink关闭文件的尝试次数;

如果设置为1,当一次关闭文件失败后,hdfs sink将不会再次尝试关闭文件,这个未关闭的文件将会一直留在那,并且是打开状态。

设置为0,当一次关闭失败后,hdfs sink会继续尝试下一次关闭,直到成功。

  • retryInterval

默认值:180(秒)

hdfs sink尝试关闭文件的时间间隔,如果设置为0,表示不尝试,相当于于将hdfs.closeTries设置成1.

  • serializer

默认值:TEXT

序列化类型。其他还有:avro_event或者是实现了EventSerializer.Builder的类名。

配置实例-针对hdfs生成多个文件的情况

下面的配置中,在HDFS的/tmp/lxw1234/目录下,每天生成一个格式为20151016的目录,

目标文件每5分钟生成一个,文件名格式为:log_20151016_13.1444973768543.lzo

目标文件采用lzo压缩。

    a1.sinks.sink1.type = hdfs
a1.sinks.sink1.hdfs.path = /cdh5/tmp/%Y%m%d
a1.sinks.sink1.hdfs.filePrefix = log_%Y%m%d_%H
a1.sinks.sink1.hdfs.fileSuffix = .lzo
a1.sinks.sink1.hdfs.useLocalTimeStamp = true
a1.sinks.sink1.hdfs.writeFormat = Text
a1.sinks.sink1.hdfs.fileType = CompressedStream
a1.sinks.sink1.hdfs.rollCount = 0
a1.sinks.sink1.hdfs.rollSize = 0
a1.sinks.sink1.hdfs.rollInterval = 600
a1.sinks.sink1.hdfs.codeC = lzop
a1.sinks.sink1.hdfs.batchSize = 100
a1.sinks.sink1.hdfs.threadsPoolSize = 10
a1.sinks.sink1.hdfs.idleTimeout = 0
a1.sinks.sink1.hdfs.minBlockReplicas = 1

flume hdfs配置详解的更多相关文章

  1. Flume NG 配置详解(转)

    原文链接:[转]Flume NG 配置详解 (说明,名词对应解释 源-Source,接收器-Sink,通道-Channel) 配置 设置代理 Flume代理配置存储在本地配置文件.这是一个文本文件格式 ...

  2. flume的配置详解

    Flume:===================== Flume是一种分布式的.可靠的.可用的服务,可以有效地收集.聚合和移动大量的日志数据. 它有一个基于流数据的简单而灵活的体系结构. 它具有健壮 ...

  3. Flume NG 配置详解

    配置 设置代理 Flume代理配置存储在本地配置文件.这是一个文本文件格式,是Java属性文件格式.在相同的配置文件,可以指定一个或多个代理的配置.配置文件包括每个源,接收器和通道,把它们连接在一起, ...

  4. hadoop hdfs uri详解

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  5. Hive的配置详解和日常维护

    Hive的配置详解和日常维护 一.Hive的参数配置详解 1>.mapred.reduce.tasks  默认为-1.指定Hive作业的reduce task个数,如果保留默认值,则Hive 自 ...

  6. MapReduce On Yarn的配置详解和日常维护

    MapReduce On Yarn的配置详解和日常维护 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MapReduce运维概述 MapReduce on YARN的运维主要是 ...

  7. 大数据学习day11------hbase_day01----1. zk的监控机制,2动态感知服务上下线案例 3.HDFS-HA的高可用基本的工作原理 4. HDFS-HA的配置详解 5. HBASE(简介,安装,shell客户端,java客户端)

    1. ZK的监控机制 1.1 监听数据的变化  (1)监听一次 public class ChangeDataWacher { public static void main(String[] arg ...

  8. Log4j配置详解(转)

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  9. logback 常用配置详解<appender>

    logback 常用配置详解 <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的 ...

随机推荐

  1. dom4j api 详解

    1.DOM4J简介 DOM4J是 dom4j.org 出品的一个开源 XML 解析包.DOM4J应用于 Java 平台,采用了 Java 集合框架并完全支持 DOM,SAX 和 JAXP. DOM4J ...

  2. 02 Java图形化界面设计——中间容器(Jpanel)

    上一篇讲解了Jframe顶层容器,例子中生成了一个空的窗体,在实际编程过程中,一般很少将文本框.按钮等组件直接放在顶层容器中进行布局,大多数时候是通过布局管理器结合中间容器对组件进行布局设置. 1.  ...

  3. Android Canvas和Paint基本使用

    这篇文章主要介绍下画笔Paint和画布Canvas的基本使用  1.Paint 创建对象Paint mPaint = new Paint(); 常用的基本方法有 :                mP ...

  4. wireshark in text mode: tshark

    tshark -i <interface> -w "output.data" 抓到的数据可用wireshark打开查看.

  5. shell面试题总结

    1) 如何向脚本传递参数 ? ./script argument 例子: 显示文件名称脚本 ./show.sh file1.txt cat show.sh #!/bin/bash echo $1 (L ...

  6. Python_selenium之获取页面上的全部邮箱

    Python_selenium之获取页面上的全部邮箱 一.思路拆分 获取网页(这里以百度的“联系我们”为例),网址http://home.baidu.com/contact.html 获取页面的全部内 ...

  7. Office Developer Tools for Visual Studio 2012现在可用了

    [原文发表地址]   Now Available: Office Developer Tools for Visual Studio 2012 正如我以前写过的,我们正在为构建下一代Office和 S ...

  8. EditText ------- 键盘类型

    文本输入框指定软键盘类型和软键盘回车键图标设置, 转载:http://blog.csdn.net/wirelessqa/article/details/8567327

  9. mysql "ON DUPLICATE KEY UPDATE" 的使用

    ON DUPLICATE KEY UPDATE 语法并不是SQL的标准语法,如果在句尾指定该语法,它会根据指定的主键或者唯一标示索引来更新数据库的内容 具体的操作是想根据唯一标示查看数据库是否存在该记 ...

  10. SQL系统函数——系统信息

    1.查看信息1.1.查看编号和名称select @@SERVERNAME--SQL SERVER服务器的连接字符串,如:computername\instancenameselect @@SERVIC ...