问题描述
我的作业是这样的:spout收集日志->bolt汇总日志并每隔1秒钟插入数据库每条日志都需要处理不能丢killtask的时候spout的会先置为失效,这时候就没有消息推送到bolt中了。然后再停止掉bolt中没有数据推送过来,所以就不会再触发process方法了那么这1秒钟内数据将没法插入到数据库里了storm里的cleanup方法貌似只能工作在本地模式下,那么我想要在分布式模式下kill作业的时候做下cleanup的处理该如何做呢?
解决方案
解决方案二:
分布式模式下kill掉一个task,storm会在其他地方重启task吧!貌似cleanup只适合单机开发测试用!
解决方案三:
对啊分布式环境下cleanup死活不调用我用的是storm0.8.2,这样的话我每次重新发布topology的时候,那个缓存里面的数据就会被丢掉了,有没有更好的方案
时间: 2024-12-22 18:37:25