分享

请教大家一个关于spout failed的问题解决方案

这个问题一直困扰了我许久!我的spout 运行到某个时间,Acked 处理的tuple数就不增加了,也就没有处理tuple了,但是spout Emitted还在增加。最终造成了spout failed的出现。这是什么原因造成的啊?请问各位有什么好的办法解决这个问题吗?万分感谢!       1、我测试修改了storm的executor并行度,task数都不起作用。

       2、把默认超时时间(默认30s)调大也不起作用
       3、我的bolt有两个延时较大


spout-2016.6.27.8.00.png

spout-2016.6.27.8.20.png

bolt-2016.6.27.8.20.png

spout-2016.6.27.8.25.png


已有(6)人评论

跳转到指定楼层
hyj 发表于 2016-6-27 10:46:42
时间是固定的吗?内存使用如何
回复

使用道具 举报

一个好人 发表于 2016-6-27 13:03:03
hyj 发表于 2016-6-27 10:46
时间是固定的吗?内存使用如何

1、时间固定与否我没统计过,不过该storm程序一般运行了几个小时以上才会出现spout failed的情况。  2、内存还有许多可用的。
  3、疑问:我没有设置‘topology.max.spout.pending’是不是跟这个有关?
谢谢你的回复~

内存.png
回复

使用道具 举报

qcbb001 发表于 2016-6-27 15:01:52
一个好人 发表于 2016-6-27 13:03
1、时间固定与否我没统计过,不过该storm程序一般运行了几个小时以上才会出现spout failed的情况。  2、 ...

这个倒是可能的原因之一
topology.max.spout.pending,楼主如果没有设置的话,最好设置下
回复

使用道具 举报

一个好人 发表于 2016-6-27 15:05:03
qcbb001 发表于 2016-6-27 15:01
这个倒是可能的原因之一
topology.max.spout.pending,楼主如果没有设置的话,最好设置下

我看到网上说的topology.max.spout.pending自己不设置的话默认为1,那我这个值应该设置成多大呢?应该有个参考吧~
谢谢~
回复

使用道具 举报

qcbb001 发表于 2016-6-27 17:16:40
一个好人 发表于 2016-6-27 15:05
我看到网上说的topology.max.spout.pending自己不设置的话默认为1,那我这个值应该设置成多大呢?应该有 ...

怎么配置?可以先参考Storm源代码中的Config.java.
其实这应该是storm的优化,除了max_spout_pending,其它的也可以优化下。
下面是建议配置
内存
worker.childopts: "-Xmx2048m"
max_spout_pending=100000    //spout可以缓存的tuple数目
topology_message_timeout_secs=60      // message被完全处理完的时间,超过这个时间,spout 将产生failed

回复

使用道具 举报

一个好人 发表于 2016-6-27 18:02:29
qcbb001 发表于 2016-6-27 17:16
怎么配置?可以先参考Storm源代码中的Config.java.
其实这应该是storm的优化,除了max_spout_pending, ...

好的,我试试看。
谢谢你~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条