два экземпляра работают с моим тем же потребителем Kafka с использованием одного и того же groupid, у меня есть 4 темы с 0 разделами. ниже моя конфигурация YAML:
consumer:
bootstrap-servers: ${KAFKA_BOOTSTRAP_SERVERS}
group-id: group-id
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
enable-auto-commit: false
auto-offset-reset: earliest
max-poll-records: 10
max-poll-interval-ms: 660000
properties:
max:
poll:
interval:
ms: 300000
session:
timeout:
ms: 300000
heartbeat:
interval:
ms: 25000
listener:
ack-mode: MANUAL_IMMEDIATE
Я наблюдаю за своим журналом обоих экземпляров, когда один экземпляр работает правильно, тогда другой выдает ошибку: org. apache .kafka.clients.consumer.CommitFailedException: Commit не может быть завершен, так как группа уже перебалансировала и назначила разделы другому члену. Это означает, что время между последующими вызовами poll () было больше, чем настроенное max.poll.interval.ms, что обычно подразумевает, что опрос l oop тратит слишком много времени на обработку сообщений. Вы можете решить эту проблему, либо увеличив тайм-аут сеанса, либо уменьшив максимальный размер пакетов, возвращаемых в poll (), с помощью max.poll.records.
, тогда второй работает нормально, а первый выдает ошибку. и во время обработки записей постоянно поступает следующее сообщение:
2020-05-05 15: 57: 52.874 INFO 23804 --- [onnectorservice] oak c. c .internals.AbstractCoordinator: [Consumer clientId = consumer-2, groupId = group-id] Попытка проверки пульса не удалась, поскольку группа перебалансирует
, но сообщение было успешно обработано. и после этого все мои сообщения были успешно обработаны. что именно мне нужно изменить, чтобы избежать этих ошибок.
это происходит, когда один потребитель отключается и снова перезагружается: после этого в логах появляется только ошибка.