我正在使用Apache Storm来处理来自Kafka鲸鱼喷水的大量数据。目前,已经向Kafka发布了超过3k个json消息,并且它仍在继续。我必须处理从头开始发布的所有消息。所以,我相应地设置了Kafka spout参数。
这会导致元组处理失败。我从风暴UI中获得了这些信息。
我怀疑风暴无法一次性处理轰炸它的所有信息。
感谢任何帮助。
答案 0 :(得分:1)
1)增加螺栓的平行度提示,以便没有积压减慢喷口发出的任何元组的处理速度,或
2)使用topology.max.spout.pending属性来限制spout在等待其中一个元组完成之前可以发出的元组数。
尝试两种解决方案的组合。在生产中,通常需要运行多次迭代才能获得两个值的正确值(parallelism,topology.max.spout.pending)