设为首页 收藏本站
查看: 1321|回复: 0

[经验分享] Flume MemoryChannel ChannelFullException

[复制链接]

尚未签到

发表于 2015-9-17 07:10:25 | 显示全部楼层 |阅读模式
先贴上异常信息



1 08 May 2015 17:55:23,751 WARN  [New I/O  worker #1] (org.apache.flume.source.AvroSource.append:350)  - Avro source r1: Unable to process event. Exception follows.
2 org.apache.flume.ChannelException: Unable to put event on required channel: org.apache.flume.channel.MemoryChannel{name: c2}
3     at org.apache.flume.channel.ChannelProcessor.processEvent(ChannelProcessor.java:275)
4     at org.apache.flume.source.AvroSource.append(AvroSource.java:348)
5     at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
6     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
7     at java.lang.reflect.Method.invoke(Method.java:606)
8     at org.apache.avro.ipc.specific.SpecificResponder.respond(SpecificResponder.java:88)
9     at org.apache.avro.ipc.Responder.respond(Responder.java:149)
10     at org.apache.avro.ipc.NettyServer$NettyServerAvroHandler.messageReceived(NettyServer.java:188)
11     at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
12     at org.apache.avro.ipc.NettyServer$NettyServerAvroHandler.handleUpstream(NettyServer.java:173)
13     at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:558)
14     at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:786)
15     at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
16     at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:458)
17     at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:439)
18     at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:311)
19     at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
20     at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:558)
21     at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:553)
22     at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
23     at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
24     at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:84)
25     at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:471)
26     at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:332)
27     at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
28     at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102)
29     at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
30     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
31     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
32     at java.lang.Thread.run(Thread.java:745)
33 Caused by: 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
34     at org.apache.flume.channel.MemoryChannel$MemoryTransaction.doCommit(MemoryChannel.java:130)
35     at org.apache.flume.channel.BasicTransactionSemantics.commit(BasicTransactionSemantics.java:151)
36     at org.apache.flume.channel.ChannelProcessor.processEvent(ChannelProcessor.java:267)
37     ... 29 more
问题分析
  从标红部分大致可以看出,MemoryChannel满了,source写不进去。
  从程序运行表现来看,可能导致flume堵死,不能传输日志了(我遇到的现象)

解决办法
  参考 http://blog.iyunv.com/hijk139/article/details/8465094
  增大MemoryChannel的容量,增加处理时间
  修改配置文件



# channel c2 的配置
a1.channels.c2.type = memory
a1.channels.c2.capacity = 1000000
a1.channels.c2.transactionCapacity = 80000
a1.channels.c2.keep-alive = 30
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-114562-1-1.html 上篇帖子: Flume采集处理日志文件 下篇帖子: Flume
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表