分享

storm并发度引发的问题

mjjian0 发表于 2015-4-25 17:33:58 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 3 19866
本帖最后由 mjjian0 于 2015-4-25 18:16 编辑

我在对一些数据做统计,用到redies,把统计结果放在redies中,然后下一个tuple来了从redies中取出来然后在做统计,统计后在放到redies中供程序对后面的tuple做统计处理。
我在添加bolt的时候设置parallelism_hint的数量不同导致这个bolt统计的数据最终结果也不一样,难道在parallelism_hint大于1的情况下要对程序加锁吗?
当我吧parallelism_hint设置为1的时候,统计结果是正确的

这是我的topology代码 1.png

下面是我的bolt,就是说我在这个bolt中 用了redies,统计出来的数据先放到redies,然后等下一个tuple 进来再取出redies数据做统计。
2.png
3.png
4.png

已有(3)人评论

跳转到指定楼层
muyannian 发表于 2015-4-25 18:50:04
可以的试试锁
回复

使用道具 举报

yepiaochen 发表于 2015-4-25 21:06:42
使用curator加锁
回复

使用道具 举报

starrycheng 发表于 2015-4-26 01:13:00
parallelism_hint是什么?
感觉这个直接使用storm机制就可以。

例如下图,那种bolt连续bolt的形式。

第一个bolt读取redies做统计,统计后在放到redies中,然后第二个bolt接着处理
他们之间本身存在顺序,所以不需要什么锁。



回复

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条