Удаленный раздел Kafka не может быть воссоздан с тем же именем

#apache-kafka

#apache-kafka

Вопрос:

Я пометил тему для удаления, и она осталась там навсегда, не удаляясь (даже при том, что для delete.topic.enable установлено значение true). Итак, я последовал инструкциям и запустил один из zookeepers и выполнил следующее, чтобы удалить его:

 rmr /brokers/topics/topicname
rmr /admin/delete_topics/topicname
  

Затем тема оказалась удаленной (не возвращалась по команде list). Но затем, когда я попытался воссоздать его с новой конфигурацией (сжатие включено), синхронизированные реплики пусты, и я не могу использовать из темы. Использование возвращается с ошибками ‘UNKNOWN_TOPIC_OR_PARTITION’, даже если команда list показывает, что тема существует.

Есть ли где-нибудь журнал, на который я могу посмотреть, чтобы понять, почему он не может правильно настроить тему после удаления и повторного создания? Я пропустил шаг и неправильно удалил тему для начала? Почему воссозданный раздел не инициализируется должным образом?

То, что я запустил, чтобы удалить тему изначально, прежде чем запускать две команды выше (это оставило тему «помеченной для удаления» на долгое время):

 ./kafka-topics.sh  --zookeeper $KAFKAZKHOSTS --delete --topic topicname
  

Что я запустил, чтобы воссоздать тему:

 /usr/hdp/current/kafka-broker/bin/kafka-topics.sh --create --zookeeper $KAFKAZKHOSTS --replication-factor 3 --partitions 3 --topic topicname --config cleanup.policy=compact
  

Версия Kafka: 1.1.0.2.6.5.3005-27

Комментарии:

1. Как вы создавали сообщения для этой темы?

2. @GiorgosMyrianthous Только с обычным клиентом producer для java.

3. Можете ли вы предоставить фактический код?

Ответ №1:

Итак, я где-то читал, что вам следует перезапустить брокеров, и это может решить проблему. Итак, я попробовал это, и, конечно же, после перезапуска ISR находятся в правильном состоянии, и тема снова доступна для использования.

Я все еще хотел бы знать, при каких обстоятельствах это может произойти, и есть ли способ исправить это без перезапуска брокеров, поскольку в производственной среде я бы хотел избежать этого.

Комментарии:

1. Я видел подобное поведение, но не уверен, при каких именно обстоятельствах это произойдет. Я видел это в Kafka 1.1.0, но не (пока?) в 1.1.1