转:http://lxw1234.com/archives/2015/10/527.htm

关键字:flume、hdfs、sink、配置参数

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的/tmp/lxw1234/目录下,每天生成一个格式为20151016的目录,

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

目标文件采用lzo压缩。

    1. agent_lxw1234.sinks.sink1.type = hdfs
    2. agent_lxw1234.sinks.sink1.hdfs.path = hdfs://cdh5/tmp/lxw1234/%Y%m%d
    3. agent_lxw1234.sinks.sink1.hdfs.filePrefix = log_%Y%m%d_%H
    4. agent_lxw1234.sinks.sink1.hdfs.fileSuffix = .lzo
    5. agent_lxw1234.sinks.sink1.hdfs.useLocalTimeStamp = true
    6. agent_lxw1234.sinks.sink1.hdfs.writeFormat = Text
    7. agent_lxw1234.sinks.sink1.hdfs.fileType = CompressedStream
    8. agent_lxw1234.sinks.sink1.hdfs.rollCount = 0
    9. agent_lxw1234.sinks.sink1.hdfs.rollSize = 0
    10. agent_lxw1234.sinks.sink1.hdfs.rollInterval = 600
    11. agent_lxw1234.sinks.sink1.hdfs.codeC = lzop
    12. agent_lxw1234.sinks.sink1.hdfs.batchSize = 100
    13. agent_lxw1234.sinks.sink1.hdfs.threadsPoolSize = 10
    14. agent_lxw1234.sinks.sink1.hdfs.idleTimeout = 0
    15. agent_lxw1234.sinks.sink1.hdfs.minBlockReplicas = 1

Flume中的HDFS Sink配置参数说明【转】的更多相关文章

  1. flume 中的 hdfs sink round 和roll

    http://blog.csdn.net/kntao/article/details/49278239 http://flume.apache.org/FlumeUserGuide.html#exec ...

  2. Nginx中并发性能相关配置参数说明

    worker_processes:开启worker进程的数目,通常可设置为CPU核心的倍数.在不清楚的情况下,可设置成一倍于CPU核心数或auto(Nginx将自动发现CPU核心数). worker_ ...

  3. [bigdata] 使用Flume hdfs sink, hdfs文件未关闭的问题

    现象: 执行mapreduce任务时失败 通过hadoop fsck -openforwrite命令查看发现有文件没有关闭. [root@com ~]# hadoop fsck -openforwri ...

  4. Flume中的flume-env.sh和log4j.properties配置调整建议(图文详解)

    GC是内存的回收的意思. Flume中的flume-env.sh配置调整建议 [hadoop@master conf_HostInterceptor]$ pwd /home/hadoop/app/fl ...

  5. 修改Flume-NG的hdfs sink解析时间戳源码大幅提高写入性能

    Flume-NG中的hdfs sink的路径名(对应参数"hdfs.path",不允许为空)以及文件前缀(对应参数"hdfs.filePrefix")支持正则解 ...

  6. Hadoop生态圈-Flume的主流Sinks源配置

    Hadoop生态圈-Flume的主流Sinks源配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客只是配置的是Flume主流的Sinks,想要了解更详细的配置信息请参考官 ...

  7. flume中sink到hdfs,文件系统频繁产生文件,文件滚动配置不起作用?

    在测试hdfs的sink,发现sink端的文件滚动配置项起不到任何作用,配置如下: a1.sinks.k1.type=hdfs a1.sinks.k1.channel=c1 a1.sinks.k1.h ...

  8. flume中sink到hdfs,文件系统频繁产生文件和出现乱码,文件滚动配置不起作用?

    问题描述  解决办法 先把这个hdfs目录下的数据删除.并修改配置文件flume-conf.properties,重新采集. # Licensed to the Apache Software Fou ...

  9. [ETL] Flume 理论与demo(Taildir Source & Hdfs Sink)

    一.Flume简介 1. Flume概述 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据: ...

随机推荐

  1. windows 7 提示缺少D3DCOMPILER_47.dll的正确解决方法

    下载 KB4019990补丁 我上传一下吧. 点击下载

  2. 转载:kafka c接口librdkafka介绍之二:生产者接口

    转载:from:http://www.verydemo.com/demo_c92_i210679.html 这个程序虽然我调试过,也分析过,但是没有记录笔记,发现下边这篇文章分析直接透彻,拿来借用,聊 ...

  3. IT公司管理发展经验

        2012-11-14 内容存档在evernote,笔记名"IT公司管理发展经验"

  4. 微信支付服务器CA证书更换服务器安装der证书的方法 DigiCert的根证书

    [重要]微信支付服务器证书更换通知,请开发人员验证以免影响交易 尊敬的微信支付商户&服务商: 因微信支付HTTPS服务器证书的根CA证书将于2018年8月23日到期失效,微信支付计划于2018 ...

  5. 【struts2】值栈(后篇)

    在值栈(前篇)我们学习了值栈的基本知识,接下来,来看看在程序中具体如何使用值栈. 1 ActionContext的基本使用 1.1 如何获取? 要获取ActionContext有两个基本的方法,如果在 ...

  6. 【Linux】关于减号 - 的用途

    管线命令在 bash 的连续处理程序中是相当重要的!另外,在 log file 的分析当中也是相当重要的一环, 所以请特别留意!另外,在管线命令当中,常常会使用到前一个命令的 stdout 作为这次的 ...

  7. SQL Server 阻止了对组件 'Agent XPs' 的 过程 'dbo.sp_set_sqlagent_properties' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。

    Sqlserver 2008 在配置分发向导的时候报了如下错误: 使用 Agent XPs 选项可以启用此服务器上的 SQL Server 代理扩展存储过程.如果禁用此选项,则 SQL Server ...

  8. Android通讯录管理(获取联系人、通话记录、短信消息)

    前言:前阵子主要是记录了如何对联系人的一些操作,比如搜索,全选.反选和删除等在实际开发中可能需要实现的功能,本篇博客是小巫从一个别人开源的一个项目抽取出来的部分内容,把它给简化出来,可以让需要的朋友清 ...

  9. A标签href属性详解--记录八

    1.去掉<a>标签的下划线 <ul style=" list-style-type:none; margin:0;color:Gray; font-size:11px;ma ...

  10. MySQL 示例数据库 employees 详解

    [引子] IT这一行在我看来是比较要求动手能力的,但是人非生而知之:人们身上的技能除了一些本能之外,大多都是通过学习而得到的. 前一段时间一直在整理素材,写一个关于explain 的系列文章:在一开始 ...