Кафка темы существуют, но не доступны от брокеров - PullRequest
0 голосов
/ 17 апреля 2020

У меня более 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 становится доступным и отображается, когда я перечисляю все темы. Есть ли уловка, которую я могу сделать, чтобы вернуть темы без необходимости писать в нее?

1 Ответ

0 голосов
/ 20 апреля 2020

Задержка с выходом онлайн-брокера kafka может быть связана с одним из этих 2 сценариев ios:

  1. Задержка выборов Лидера
  2. Кафка настроен на создание топи c при публикации первого сообщения.

Сценарий № 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

  • Это настройка по умолчанию
  • Эта настройка позволяет источнику создавать топи c автоматически, если параметр брокера ' auto.create.topics.enable ' установлен на true .

(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

...