Apache Storm : Как правильно установить spout.max.pending? - PullRequest
0 голосов
/ 29 ноября 2018

Моя топология : KafkaSpout -> SpilitBolt -> WordCountBolt -> KakfaSink

скорость ввода: 1000 кортежей / с.Используйте текущее время как метку времени при генерации кортежа.WordCountBolt - это болт EventTimeWindow, его размер 3 с, задержка 1 с.Как я и предполагал, spout.max.pending следует установить на (3 + 1) * 1000 + 1 = 4001, но результаты эксперимента показывают, что это не сработает.Излив будет заблокирован и не будет отправлен, предполагается, что окно не срабатывает.Я пробовал 1000,4001,5000, 6000, 10000. Он работает только тогда, когда он установлен на 10000, и не получает поздний кортеж, он работает правильно.В случае входной скорости 10000 кортежей / с я установил ее на 200000. Носик не будет блокироваться, но счетчик получит много поздних кортежей.

Q: ПочемуРазница настолько велика, как я должен правильно установить этот параметр, я могу попробовать только от маленького до большого?

...