您的位置:首页 > Web前端

flume报错:Sinks are likely not keeping up with sources, or the buffer size is too tight

2017-03-04 15:39 483 查看
使用flume收集日志,在agent的日志中发现如下错误信息:

Caused by: org.apache.flume.ChannelException: Space for commit to queue couldn't be acquired Sinks are likely not keeping up with sources, or the buffer size is too tight
at org.apache.flume.channel.MemoryChannel$MemoryTransaction.doCommit(MemoryChannel.java:126)
at org.apache.flume.channel.BasicTransactionSemantics.commit(BasicTransactionSemantics.java:151)
at org.apache.flume.channel.ChannelProcessor.processEventBatch(ChannelProcessor.java:192)
... 28 more

解决方法:
1)修改flume-ng agen的堆内存:

vim flume-env.sh
export JAVA_OPTS="-Xms1024m -Xmx1024m"默认是20m
2)修改channel的配置信息:

agent1.channels.mc1.capacity = 1000
agent1.channels.mc1.keep-alive = 60


解释:

channels- 
type-组件类型名称必须是
memory
capacity100存储在 Channel 当中的最大 events 数
transactionCapacity100同时刻从Source 获取,或发送到 Sink 的最大 events 数
keep-alive3添加或删除一个 event 超时的秒数
keep-alive"这个参数用来控制channel满时影响source的发送,channel空时影响sink的消费,就是等待时间,默认是3s,超过这个时间就甩异常,一般不需配置,但是有些情况很有用,比如你得场景是每分钟开头集中发一次数据,这时每分钟的开头量可能比较大,后面会越来越小,这时你可以调大这个参数,不至于出现channel满了得情况;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐