flume hdfs配置详解
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配置详解的更多相关文章
- Flume NG 配置详解(转)
原文链接:[转]Flume NG 配置详解 (说明,名词对应解释 源-Source,接收器-Sink,通道-Channel) 配置 设置代理 Flume代理配置存储在本地配置文件.这是一个文本文件格式 ...
- flume的配置详解
Flume:===================== Flume是一种分布式的.可靠的.可用的服务,可以有效地收集.聚合和移动大量的日志数据. 它有一个基于流数据的简单而灵活的体系结构. 它具有健壮 ...
- Flume NG 配置详解
配置 设置代理 Flume代理配置存储在本地配置文件.这是一个文本文件格式,是Java属性文件格式.在相同的配置文件,可以指定一个或多个代理的配置.配置文件包括每个源,接收器和通道,把它们连接在一起, ...
- hadoop hdfs uri详解
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- Hive的配置详解和日常维护
Hive的配置详解和日常维护 一.Hive的参数配置详解 1>.mapred.reduce.tasks 默认为-1.指定Hive作业的reduce task个数,如果保留默认值,则Hive 自 ...
- MapReduce On Yarn的配置详解和日常维护
MapReduce On Yarn的配置详解和日常维护 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MapReduce运维概述 MapReduce on YARN的运维主要是 ...
- 大数据学习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 ...
- Log4j配置详解(转)
一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...
- logback 常用配置详解<appender>
logback 常用配置详解 <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的 ...
随机推荐
- easyui menu 添加hideItem/showItem 方法
$.extend($.fn.menu.methods,{ showItem:function(jq,text){ return jq.each(function(){ var item = $(thi ...
- 发送json-简单的传参查询和简单的sql查询
简单的传参查询并转化为json using System; using System.Collections.Generic; using System.Linq; using System.Web; ...
- kvm初体验之四:从Host登录Guest的五种方式
1. virt-viewer virt-viewer -c qemu:///system vm1 2. virt-manager (以非root身份运行) virt-manager -c qemu:/ ...
- Windows下通过Composer安装Yii2
安装好大于5.4或更高版本的PHP环境并开启openssl扩展.如果是Apache服务器,加载Apache的mod_ssl模块. 下载Composer并安装. 开始->运行[或者WIN+R]-& ...
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)5.3——使用Robotium进行功能测试
问题: 你想要使用Robotium库测试activity. 解决方案: 增加Robotium依赖,编写自己的测试脚本. 讨论: Android Test Support Library提供类可以操作a ...
- tarjan求强连通分量+缩点 模板
#define N 100100 #define M 200200 int n,m; int id,index; //id表示缩点后点的id,index表示进行tarjan算法时访问的点先后 int ...
- 修改project任务的默认开始时间
一般情况下,在project新建一个项目之后,在这个项目里每新添加一个任务,它的默认开始时间都是取的本项目的创建时间.但这可能并不是我们所需要的. 其实在这里,project取的默认开始时间都是整个项 ...
- 【BZOJ4378】[POI2015]Logistyka 树状数组
[BZOJ4378][POI2015]Logistyka Description 维护一个长度为n的序列,一开始都是0,支持以下两种操作:1.U k a 将序列中第k个数修改为a.2.Z c s 在这 ...
- 【BZOJ4723】[POI2017]Flappy Bird DP
[BZOJ4723][POI2017]Flappy Bird Description <飞扬的小鸟>是一款风靡的小游戏.在游戏中,小鸟一开始位于(0,0)处,它的目标是飞到横坐标为X的某个 ...
- ActiveMQ+SpringMVC+Maven应用示例
本文主要想通过一个WEB示例展示ActiveMQ在具体应用程序中是如何使用的,顺便简单介绍以下如何通过Eclipse搭建一个SpringMVC框架和Maven项目开发框架.下面首先展示一下项目最终的运 ...