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 配置说明的更多相关文章

  1. MySQL数据实时增量同步到Kafka - Flume

    转载自:https://www.cnblogs.com/yucy/p/7845105.html MySQL数据实时增量同步到Kafka - Flume   写在前面的话 需求,将MySQL里的数据实时 ...

  2. flume 前世今生

    Cloudera 开发的分布式日志收集系统 Flume,是 hadoop 周边组件之一.其可以实时的将分布在不同节点.机器上的日志收集到不同的存储系统.Flume 初始的发行版本目前被统称为 Flum ...

  3. flume 1.7在windows下的安装与运行

    flume 1.7在windows下的安装与运行 一.安装 安装java,配置环境变量. 安装flume,flume的官网http://flume.apache.org/,下载地址,下载后直接解压即可 ...

  4. Flume1 初识Flume和虚拟机搭建Flume环境

    前言:       工作中需要同步日志到hdfs,以前是找运维用rsync做同步,现在一般是用flume同步数据到hdfs.以前为了工作简单看个flume的一些东西,今天下午有时间自己利用虚拟机搭建了 ...

  5. NHibernate之映射文件配置说明

    NHibernate之映射文件配置说明 1. hibernate-mapping 这个元素包括以下可选的属性.schema属性,指明了这个映射所引用的表所在的schema名称.假若指定了这个属性, 表 ...

  6. Flume(4)实用环境搭建:source(spooldir)+channel(file)+sink(hdfs)方式

    一.概述: 在实际的生产环境中,一般都会遇到将web服务器比如tomcat.Apache等中产生的日志倒入到HDFS中供分析使用的需求.这里的配置方式就是实现上述需求. 二.配置文件: #agent1 ...

  7. Flume(3)source组件之NetcatSource使用介绍

    一.概述: 本节首先提供一个基于netcat的source+channel(memory)+sink(logger)的数据传输过程.然后剖析一下NetcatSource中的代码执行逻辑. 二.flum ...

  8. Flume(2)组件概述与列表

    上一节搭建了flume的简单运行环境,并提供了一个基于netcat的演示.这一节继续对flume的整个流程进行进一步的说明. 一.flume的基本架构图: 下面这个图基本说明了flume的作用,以及f ...

  9. Flume(1)使用入门

    一.概述: Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统. 当前Flume有两个版本Flume 0.9X版本的统称Flume-og,Flume1.X ...

随机推荐

  1. SharePoint Development - Custom Content Type using Visual Studio 2010 based SharePoint 2010

    博客地址 http://blog.csdn.net/foxdave 本文所述均来自之前实际的项目模块 首先再论述一下SharePoint ContentType内容类型 SharePoint的列表和文 ...

  2. 关于VC中LineDDA函数的调用

    在项目里碰到这个函数,不知道怎么使用,记录在这里. 该函数的原型如下: BOOL LineDDA(int nXStart, int nYStart, int nXEnd, int nYEnd, LIN ...

  3. Python windows ping

    # -*- coding: utf-8 -*- import os # 参考文档: # Ping to a specific IP address using python [duplicate] # ...

  4. 使用defined和require引入js

    define(function(require, exports, module) { var ceshiTwo = { dataCeshi:[1,2,3,4,5], arrCeshi:functio ...

  5. 转-Vue.js2.0从入门到放弃---入门实例(一)

    http://blog.csdn.net/u013182762/article/details/53021374 标签: Vue.jsVue.js 2.0Vue.js入门实例Vue.js 2.0教程 ...

  6. Maven(4)-利用intellij idea创建maven 多模块项目

    本文通过一个例子来介绍利用maven来构建一个多模块的jave项目.开发工具:intellij idea. 一.项目结构 multi-module-project是主工程,里面包含两个模块(Modul ...

  7. erlang单独配置文件

    一种是erl启动的时候加参数 doudizhu.config [ {doudizhu,[ {listen_port, }, {node_caller_prefix,"ruby"}, ...

  8. debian修改ssh端口

    vim /etc/ssh/sshd_config,修改port为你想要的端口 invoke-rc.d ssh restart 客户端连接: ssh 142.4.125.90 -l root -p875 ...

  9. [题解] [NOIP2008] 双栈排序——关系的冲突至图论解法

    Problem 题目描述 Tom最近在研究一个有趣的排序问题.如图所示,通过2个栈S1和S2,Tom希望借助以下4种操作实现将输入序列升序排序. 操作a 如果输入序列不为空,将第一个元素压入栈S1 操 ...

  10. hadoop启动时,报ssh: Could not resolve hostname xxx: Name or service not known

    本文转载自:http://blog.csdn.net/wodewutai17quiet/article/details/76795951 问题:hadoop启动时,报ssh: Could not re ...