本文为您介绍Taildir Source、File Channel和HDFS Sink配置中的一些常用参数调优。
Taildir Source
参数 | 描述 |
---|---|
filegroups | 将一个目录拆分为多个,增加Source读取并发。 |
batchSize | 默认值为100。一次性读取数据行数,适当调大该参数值可以提高吞吐量。 |
File Channel
参数 | 描述 |
---|---|
checkpointInterval | 默认值为30,单位为秒(s)。适当调小该参数值可以缩短写CheckPoint间隔。 |
useDualCheckpoints | 默认值为false。修改该参数值为true,可以防止重启时因为CheckPoint丢失,从头读取所有Event。 |
maxFileSize | 默认值为1.6,单位为GB。表示单个DATA文件的大小。
适当调小该参数值以便FileChannel可以尽快移除过期文件,减少占用磁盘。 |
capacity | 默认值为1000000。表示Channel最多保留的Events数量。
调大该参数可以优化吞吐量,也可以使用该参数乘以单个Event大小来估算磁盘占用情况。 |
transactionCapacity | 默认值为10000。Channel支持的单个事务的最大容量。 |
HDFS Sink
参数 | 描述 |
---|---|
hdfs.batchSize | 默认值为100。向HDFS写入内容时每次批量操作的Event数量。
适当调大该参数可提高吞吐量。
说明 建议此参数值和Source配置中batchSize的参数值保持一致,且均不应该超过Channel配置中transactionCapacity的参数值。
|
hdfs.threadsPoolSize | 默认值为10,HDFS IO线程数,根据机器配置调整。 |
hdfs.useLocalTimeStamp | 默认值为false。表示是否使用本地时间戳。
如果需要在Event的Head中添加时间戳,设置该参数值为true。 |
hdfs.rollInterval | 默认值为30,单位为秒(s)。表示间隔多久临时文件滚动为目标文件。
设置为0时,表示不基于时间滚动。 |
hdfs.rollSize | 默认值为1024,单位为字节(Byte)。表示文件大小到达该参数值时,滚动为目标文件。
设置为0时,表示不基于大小滚动。 |
hdfs.rollCount | 默认10个事件。表示事件数量达到该数量时滚动为目标文件。
设置为0时,表示不基于事件数量滚动。 |
hdfs.minBlockReplicas | 默认为HDFS副本数,表示HDFS文件块的最小副本数。
通常配置为1,才能正确滚动文件。 |