- flume部件及参数
- batchData的大小由参数batchSize控制;
- putList和takeList的大小由参数transactionCapacity控制;
- Channel总容量大小由参数capacity控制;
- 参数说明
- Source的batchSize参数决定Source一次批量运输到Channel的event条数,适当调大这个参数可以提高Soure搬运Event到Channel时的性能。
- capacity 参数决定Channel可容纳最大的event条数。
- transactionCapacity 参数决定每次Source往channel里面写的最大event条数和每次Sink从channel里面读的最大event条数。
- transactionCapacity需要大于Source和Sink的batchSize参数。
- Sink的batchSize参数决定Sink一次批量从Channel读取的event条数,适当调大这个参数可以提高Sink从Channel搬出event的性能。
- flume错误汇总
- 容量分配不足
错误描述:
解决方法:org.apache.flume.ChannelFullException: Space for commit to queue couldn't be acquired. Sinks are likely not keeping up with sources, or the buffer size is too tight
- 调整Agent 的 Java 堆栈大小
bin/flume-ng... ############################### # main ################################ # set default params FLUME_CLASSPATH="" FLUME_JAVA_LIBRARY_PATH="" JAVA_OPTS="-Xmx2048m" # 修改 LD_LIBRARY_PATH="" ...
- 将channel的参数capacity、transactionCapacity调大,比如分别由之前的10000、1000,增大到 100000、10000。
- 调整Agent 的 Java 堆栈大小
- batchSize过小
错误描述:
解决方法:org.apache.flume.ChannelException: Take list for MemoryTransaction, capacity 100 full, consider committing more frequently, increasing capacity, or increasing thread count
将sink的参数batchSize调小,比如由1000改为100。
- 容量分配不足
Flume遇到的一些问题
最新推荐文章于 2022-11-02 14:45:07 发布