Flume HDFS Sink配置详解

Name Default Description
channel  
type 组件的名称,必须为:HDFS
hdfs.path HDFS目录路径,例如:hdfs://namenode/flume/webdata/
hdfs.filePrefix FlumeData HDFS目录中,由Flume创建的文件前缀。
hdfs.fileSuffix 追加到文件的后缀,例如:.txt
hdfs.inUsePrefix 文件正在写入时的前缀。
hdfs.inUseSuffix .tmp 文件正在写入时的后缀。
hdfs.rollInterval 30 当前写入的文件滚动间隔,默认30秒生成一个新的文件 (0 = 不滚动)
hdfs.rollSize 1024 以文件大小触发文件滚动,单位字节(0 = 不滚动)
hdfs.rollCount 10
以写入的事件数触发文件滚动。(0 = 不滚动)
hdfs.idleTimeout 0 超时多久以后关闭无效的文件。(0 = 禁用自动关闭的空闲文件)但是还是可能因为网络等多种原因导致,正在写的文件始终没有关闭,从而产生tmp文件
hdfs.batchSize 100 有多少Event后,写到文件才刷新到HDFS。
hdfs.codeC 压缩编解码器,可以使用:gzip, bzip2, lzo, lzop, snappy
hdfs.fileType SequenceFile 文件格式:通常使用SequenceFile(默认)DataStream 或者 CompressedStream
(1)DataStream不能压缩输出文件,请不用设置hdfs.codeC编码解码器。
(2)CompressedStream要求设置hdfs.codeC来制定一个有效的编码解码器。
hdfs.maxOpenFiles 5000 HDFS中允许打开文件的数据,如果数量超过了,最老的文件将被关闭。
hdfs.callTimeout 10000 允许HDFS操作的毫秒数,例如:open,write, flush, close。如果很多HFDS操作超时,这个配置应该增大。
hdfs.threadsPoolSize 10

每个HDFS sink的HDFS的IO操作线程数(例如:open,write)

hdfs.rollTimerPoolSize 1 每个HDFS sink调度定时文件滚动的线程数。
hdfs.kerberosPrincipal 安全访问HDFS Kerberos的主用户。
hdfs.kerberosKeytab 安全访问HDFS Kerberos keytab
hdfs.proxyUser    
hdfs.round false 时间戳应该被四舍五入。(如果为true,会影响所有的时间,除了t%)
hdfs.roundValue 1 四舍五入的最高倍数(单位配置在hdfs.roundUnit),但是要小于当前时间。
hdfs.roundUnit second 四舍五入的单位,包含:secondminute or hour.
hdfs.timeZone Local Time 时区的名称,主要用来解决目录路径。例如:America/Los_Angeles
hdfs.useLocalTimeStamp false 使用本地时间替换转义字符。 (而不是event header的时间戳)
hdfs.closeTries 0 在发起一个关闭命令后,HDFS sink必须尝试重命名文件的次数。如果设置为1,重命名失败后,HDFS sink不会再次尝试重命名该文件,这个文件处于打开状态,并且用.tmp作为扩展名。如果为0,Sink会一直尝试重命名,直至重命名成功。如果文件 失败,这个文件可能一直保持打开状态,但是这种情况下数据是完整的。文件将会在Flume下次重启时被关闭。
hdfs.retryInterval 180 在几秒钟之间连续尝试关闭文件。每个关闭请求都会有多个RPC往返Namenode,因此设置的太低可能导致Namenode超负荷,如果设置0或者更小,如果第一次尝试失败的话,该Sink将不会尝试关闭文件。并且把文件打开,或者用“.tmp”作为扩展名。
serializer TEXT 可能的选项包括avro_event或继承了EventSerializer.Builder接口的类名。
serializer.*    

猜你喜欢

转载自blog.csdn.net/cctvyuzhou/article/details/80523918