консоль-потребитель apache kafka застряла, потом при нажатии любой клавиши перезагружался .. почему? - PullRequest
0 голосов
/ 07 марта 2019

Я провожу некоторые тесты с apache kafka, обе версии 1.1.1 и 2.1.1 имеют такое же абсурдное поведение, которое я не могу понять .. (и я не знаю, почему, если это проблема, которая вызываетнекоторое неравномерное потребление разделов в некоторых моих приложениях)

это было протестировано в кластере с 5 узлами + 3 zk, а также в одном экземпляре docker compose с 1 zk + 1 узлом,

приУ меня есть тема с довольно большим количеством сообщений, потребитель после того, как он потребил случайное количество (иногда 800 МБ, иногда 3 ГБ), останавливается ... даже в течение нескольких часов. Если я затем ввожу в терминал любую клавишу с клавиатуры, он затем возобновляетпотребление ... какое-то время потом снова останавливается .. это происходит либо если производитель включен, либо выключен .. я гуглил и ничего не нашел ..

Я выложу некоторые подробности о простом воспроизведениипроблема:

# create the topic 
docker exec -ti compose-single_kafka_1   bash -c '/opt/kafka/bin/kafka-topics.sh \
          --zookeeper zk:2181 \
          --create\
          --topic test_bench\
          --partitions "30"\
          --replication-factor "1"\
          --config "retention.ms=864000000"\
          --config "delete.retention.ms=86400000"\
          --config "file.delete.delay.ms=3600000"\
          --config "file.delete.delay.ms=3600000"\
          --config "segment.bytes=107374182"\
          --config compression.type=zstd \
          --config "retention.bytes=1073741824"\
          '
## start producer :
docker exec -ti compose-single_kafka_1   bash -c '/opt/kafka/bin/kafka-producer-perf-test.sh --topic test_bench --throughput 4000000 --record-size 300 --num-records 40000000 --producer-props bootstrap.servers="127.0.0.1:9092"'

## after a while.. or when it has terminated 
# start consumer
docker exec -ti compose-single_kafka_1   bash -c '/opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092  --topic test_bench --from-beginning  --skip-message-on-error --property "group.id=test-console-g'$(date +%s)'" --property "client.id='$(date +%s)'"' | pv -i1 -b -r >/dev/null

## after 1 minute or two it will pause ( start multiple consumer at same time to speedup increase this frequency )

# when the consumer is stuck, just press ENTER or any key to resume it.. but why??

без исключений и сообщений, зарегистрированных на обоих клиент / сервер (также пытались с выводом потребителем в файл, чтобы увидеть, если что-то зарегистрировано, но ничего.. это просто пауза сама ..)

Спасибо

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