我在Linux Ubuntu中部署了一个nodejs-> kafka> storm-> Mongo。一切都是正常的。然后我改变了风暴工作者的方法,这使得风暴工作者进程消息非常慢,每条消息大约1分钟,我注意到消息是从风暴中一次又一次地发送的。我恢复原来的方法,一切都很好。 (原始方法处理时间为每条消息90ms)。
我猜这是Storm可靠性进入播放器。当消息未被确认或超时时,它会再次发送消息。
如果我的猜测是正确的,如何配置此超时?
如果我猜错了,为什么同一条信息被发送两次或三次?
答案 0 :(得分:3)
您可以通过配置参数GridView
设置超时。见https://storm.apache.org/javadoc/apidocs/backtype/storm/Config.html#TOPOLOGY_MESSAGE_TIMEOUT_SECS
默认值为30秒,请参见Config.TOPOLOGY_MESSAGE_TIMEOUT_SECS
此处:https://github.com/apache/storm/blob/master/conf/defaults.yaml
defaults.yaml
当一个元组失败时,它应该出现在Storm UI中并且也应该被记录(也许你需要调整日志级别)。因此,您可以仔细检查元组是否超时。