一、目的
在实际项目的开发过程中,不同Kafka主题的数据规模、数据频率,需要配置不同的Flume参数,而这一切的调试、配置工作,都要建立在对Flume配置文件各参数含义的基础上
二、Flume各参数及其含义
(一)filePrefix
1、含义:写入hdfs的文件名前缀,可以使用flume提供的日期及%{host}表达式
2、默认值为FlumeData
(二)fileSuffix
1、含义:写入hdfs的文件名后缀,比如.lzo .log .txt
(三)inUsePrefix(一般不用管 )
1、含义:临时文件的文件名前缀,hdfs sink会先往目标目录中写临时文件,再根据相关规则重命名成最终目标文件
(四)inUseSuffix(一般不用管 )
1、含义:临时文件的文件名后缀
2、默认值:.tmp
(五)rollInterval
1、含义:hdfs sink间隔多长将临时文件滚动成最终目标文件,单位:秒
2、默认值:30s
3、如果设置成0,则表示不根据时间来滚动文件
4、注意: 滚动(roll)指的是,hdfs sink将临时文件重命名成最终目标文件,并新打开一个临时文件来写入数据
(六)rollSize
1、含义:当临时文件达到该大小(单位:bytes)时,滚动成目标文件
2、默认值:1024byte
3、 如果设置成0,则表示不根据临时文件大小来滚动文件
(七)rollCount
1、含义:当events数据达到该数量时候,将临时文件滚动成目标文件
2、默认值:10
3、如果设置成0,则表示不根据events数据来滚动文件
(八)idleTimeout
1、含义:当目前被打开的临时文件在该参数指定的时间(秒)内,没有任何数据写入,则将该临时文件关闭并重命名成目标文件
2、默认值:0
(九)batchSize
1、含义:每个批次刷新到HDFS上的events数量
2、默认值:100
(十)codeC
1、含义:文件压缩格式,包括:gzip, bzip2, lzo, lzop, snappy
(十一)fileType
1、含义:文件格式,包括:SequenceFile, DataStream,CompressedStream;默认值:SequenceFile
2、当使用DataStream时候,文件不会被压缩,不需要设置hdfs.codeC
3、当使用CompressedStream时候,必须设置一个正确的hdfs.codeC值
(十二)maxOpenFiles
1、含义:最大允许打开的HDFS文件数,当打开的文件数达到该值,最早打开的文件将会被关闭
2、默认值:5000
(十三)minBlockReplicas
1、含义:写入HDFS文件块的最小副本数
2、默认值:HDFS副本数(一般不修改,HDFS副本数默认为3)
3、 该参数会影响文件的滚动配置,一般将该参数配置成1 ,才可以按照配置正确滚动文件
(十四)writeFormat
1、含义:写sequence文件的格式
2、包含:Text, Writable(默认)
(十五)callTimeout
1、含义:执行HDFS操作的超时时间(单位:毫秒)
2、默认值:10000 (10s)
(十六)threadsPoolSize
1、含义:hdfs sink启动的操作HDFS的线程数
2、默认值:10
(十七)rollTimerPoolSize
1、含义:hdfs sink启动的根据时间滚动文件的线程数
2、默认值:1
(十八)kerberosPrincipal
1、含义:HDFS安全认证kerberos配置
(十九)kerberosKeytab
1、含义:HDFS安全认证kerberos配置
(二十)proxyUser
1、含义:代理用户
(二十一)channel
1、含义:管道
2、一个sink只能有一个管道,但一根管道可以有多个sink
(二十二)type
1、含义:类型
2、Source类型
3、Sink类型
4、Channel类型
(二十三)path
1、含义:写入hdfs的路径,需要包含文件系统标识,比如:hdfs://hurys23:8020/user/hive/warehouse/hurys_dc_ods.db/ods_turnratio/day=%Y-%m-%d/
2、可以使用flume提供的日期及%{host}表达式
(二十四)round
1、含义:是否启用时间上的”舍弃”,这里的”舍弃”,类似于”四舍五入”
2、如果启用,则会影响除了%t的其他所有时间表达式
3、默认值:false
(二十五)roundValue
1、含义:时间上进行“舍弃”的值
2、默认值:1
(二十六)roundUnit
1、含义:时间上进行”舍弃”的单位,包含:second,minute,hour
2、默认值:seconds
(二十七)timeZone
1、含义:时区
2、默认值:Local Time
(二十八)useLocalTimeStamp
1、含义:是否使用当地时间
2、默认值:flase
(二十九)closeTries
1、含义:hdfs sink关闭文件的尝试次数
2、默认值:0
3、如果设置为1,当一次关闭文件失败后,hdfs sink将不会再次尝试关闭文件,这个未关闭的文件将会一直留在那,并且是打开状态
4、如果设置为0,当一次关闭失败后,hdfs sink会继续尝试下一次关闭,直到成功