美文网首页
Space for commit to queue couldn

Space for commit to queue couldn

作者: 机灵鬼鬼 | 来源:发表于2020-06-06 08:42 被阅读0次
image.png

memory channel内部有三个队列,分别是图中的putList,queue,takeList。有两个参数来控制他们的大小,默认值都是100,分别是:

capacity:代表queue的大小,主要的存储event的部分。
transactionCapacity:代表putList和takeList的大小。

Space for commit to queue couldn’t be acquired异常如何发生的
经过上面的一系列介绍,已经知道了kafka source、memory channel、hdfs sink协同工作的过程。因为“source往putList放数据,然后提交到queue中”与“sink从channel中取数据到sink和takeList,然后再从putList取数据到queue中”这两部分是分开来,任他们自由抢锁,所以,当前者多次抢到锁,后者没有抢到锁,同时queue的大小又太小,撑不住多次往里放数据,就会导致触发这个异常。
解决这个问题最直接的办法就是增大queue的大小,增大capacity和transacCapacity之间的差距,queue能撑住多次往里面放数据即可。

相关文章

网友评论

      本文标题:Space for commit to queue couldn

      本文链接:https://www.haomeiwen.com/subject/iqvaihtx.html