org.apache.kafka.common.network.InvalidReceiveException: недействительное получение (размер = -2147483648) - PullRequest
0 голосов
/ 12 октября 2018

Я работал над нашими микросервисами Spring Boot в течение нескольких месяцев, и совсем недавно я заставлял их использовать Kafka для организации очередей.

Для этого я управлял одним локальным Zookeeper и Broker.Я пытался зарезервировать суждение, но обнаружил, что Кафка невероятно нестабилен с частыми сбоями и непредсказуемым поведением.

Последние проблемы появились в одночасье.Я не изменил конфигурацию Zookeeper или брокера или то, как я их запускаю, но теперь потребитель консоли, который поставляется с Kafka, генерирует исключение InvalidReceiveException, чего раньше не было.

Это происходит, когда тема существует или не существует, и если я уточнил данные или нет.

Поскольку я ничего не изменил и даже не пытаюсьподключите мои службы, я в растерянности относительно того, что может быть не так.

Конфигурация Zookeeper:

dataDir=C:/tools/kafka/data/zookeeper
clientPort=2181
maxClientCnxns=0

Команда запуска Zookeeper:

bin/windows/zookeeper-server-start.bat config/zookeeper.properties

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

broker.id=0
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=C:/tools/kafka/data/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0

Команда запуска брокера:

bin/windows/kafka-server-start.bat config/server.properties

Создание темы:

bin/windows/kafka-topics.bat --zookeeper localhost:2181 --create --topic outbound.dlr.dev1 --partitions 1 --replication-factor 1

Команда получателя консоли:

bin/windows/kafka-console-consumer.bat --bootstrap-server localhost:9042 --topic outbound.dlr.dev1 --group foo

Трассировка стека:

[2018-10-12 12:18:43,962] WARN [Consumer clientId=consumer-1, groupId=foo] Unexpected error from localhost/127.0.0.1; closing connection (org.apache.kafka.common.network.Selector)
org.apache.kafka.common.network.InvalidReceiveException: Invalid receive (size = -2147483648)
    at org.apache.kafka.common.network.NetworkReceive.readFrom(NetworkReceive.java:102)
    at org.apache.kafka.common.network.KafkaChannel.receive(KafkaChannel.java:335)
    at org.apache.kafka.common.network.KafkaChannel.read(KafkaChannel.java:296)
    at org.apache.kafka.common.network.Selector.attemptRead(Selector.java:560)
    at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:496)
    at org.apache.kafka.common.network.Selector.poll(Selector.java:425)
    at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:510)
    at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:271)
    at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:242)
    at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:233)
    at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.awaitMetadataUpdate(ConsumerNetworkClient.java:161)
    at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureCoordinatorReady(AbstractCoordinator.java:243)
    at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.poll(ConsumerCoordinator.java:314)
    at org.apache.kafka.clients.consumer.KafkaConsumer.updateAssignmentMetadataIfNeeded(KafkaConsumer.java:1218)
    at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1181)
    at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1115)
    at kafka.tools.ConsoleConsumer$ConsumerWrapper.<init>(ConsoleConsumer.scala:387)
    at kafka.tools.ConsoleConsumer$.run(ConsoleConsumer.scala:71)
    at kafka.tools.ConsoleConsumer$.main(ConsoleConsumer.scala:53)
    at kafka.tools.ConsoleConsumer.main(ConsoleConsumer.scala)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...