Приложение Kafka Stream застряло, перебалансировав _transation_state с семантикой «ровно один раз» в Windows отказоустойчивом кластере Kafka - PullRequest
0 голосов
/ 20 февраля 2020

Я использую кластер Kafka с 3 брокерами и 3 экземплярами Zookeeper в Windows ОС. Нам требуется высокодоступный кластер для достижения нулевого времени простоя. До сих пор все работало, но когда мы попытались протестировать сценарий Failover, закрыв одного брокера, потоковое приложение Kafka зависло и не могло принимать дополнительные сообщения. Приняв слишком много усилий, мы узнаем, что такое поведение происходит только тогда, когда мы используем semanti c точно один раз. Еще большая путаница в том, что мы не можем воспроизвести эту проблему в Ubuntu или в событии Docker. Ниже приведены конфигурации:

Конфигурация брокера:

broker.id=1
zookeeper.connect=x.x.x.x1:2181,x.x.x.x2:2181,x.x.x.x3:2181
delete.topic.enable=false
num.partitions=3
default.replication.factor=3
transaction.state.log.num.partitions=3
transaction.state.log.replication.factor=3
transaction.state.log.min.isr=2

Конфигурации потоков:

 properties.put(StreamsConfig.APPLICATION_ID_CONFIG, applicationId);
    properties.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, brokers);
    properties.put(StreamsConfig.DEFAULT_KEY_SERDE_CLASS_CONFIG, Serdes.String().getClass().getName());
    properties.put(StreamsConfig.DEFAULT_VALUE_SERDE_CLASS_CONFIG, EventSerde.class.getName());
    properties.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, offsetPolicy);
    properties.put(StreamsConfig.PROCESSING_GUARANTEE_CONFIG, StreamsConfig.EXACTLY_ONCE);
    properties.put(StreamsConfig.DEFAULT_DESERIALIZATION_EXCEPTION_HANDLER_CLASS_CONFIG, LogAndContinueExceptionHandler.class);
   properties.put(StreamsConfig.REPLICATION_FACTOR_CONFIG, 3);

Конфигурации потоков включают семантику «точно один раз». Это действительно проблема «точно один раз» или ОС, или я делаю какие-то неправильные конфигурации?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...