У меня более 1000 тем. После сбоя я обнаружил, что при перечислении тем появляется только несколько тем. Если я пишу в существующий, но недоступный topi c, он говорит:
[2020-04-17 16:17:09,153] WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 2 : {ONLP_NEWORDER_1428=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
Однако после этого последующие записи успешны, и topi c становится доступным и отображается, когда я перечисляю все темы. Есть ли уловка, которую я могу сделать, чтобы вернуть темы без необходимости писать в нее?
Задержка с выходом онлайн-брокера kafka может быть связана с одним из этих 2 сценариев ios:
Сценарий № 1: Задержка в выборе лидера:
Ошибка сообщение - O NLP_NEWORDER_1428 = LEADER_NOT_AVAILABLE означает, что узел Leader для topi c еще не подключен.
После сбоя выборы лидера занимают некоторое время (от нескольких секунд до нескольких минут, в зависимости от конфигурации и условий сети)
Время, затрачиваемое на выборы лидера, можно минимизировать путем оптимизации конфигурация kafka.
Дополнительная информация по оптимизации kafka:
https://www.confluent.io/wp-content/uploads/Optimizing-Your-Apache-Kafka-Deployment-1.pdf
Сценарий № 2: Kafka настроен на создание topi c при публикации первого сообщения
По умолчанию kafka настроен на создание topi c при публикации первого сообщения производителем.
This setting controls the automatic creation of topics. producer.auto.create.topics The possible values for this setting are: allow-server-side --> Default. Create topic on first message published client-side --> Create topic at the first request from a consumer false --> Do not create topics automatically
(a) allow-server-side
(b) false - разрешает автоматическое создание topi c.
(c) на стороне клиента
Позволяет создать топи c, когда потребитель пытается получить сообщение. (Поддерживается только для брокеров> версия 0.10.1.1)
Дополнительная информация:
https://cwiki.apache.org/confluence/display/KAFKA/KIP-487%3A+Client-side+Automatic+Topic+Creation+on+Producer
https://docs.confluent.io/current/installation/configuration/broker-configs.html
https://docs.confluent.io/current/installation/configuration/producer-configs.html
https://docs.cloudera.com/HDPDocuments/HDP3/HDP-3.1.5/kafka-working-with-topics/content/creating_a_kafka_topic.html