mybpm!
Скачать в формате: PDF pdf DOCX word

Kafka CLI команды

Вводная часть

Здесь описаны некоторые bash-команды Kafka CLI для манипуляции с топиками и прочими сущностями Kafka. Все нижеописанные команды необходимо выполнять внутри pod-а Кафки. Если существуют несколько инстанции pod-ов Кафки можно выполнить в любой из инстанции (только для Топиков)

Команды

Топики

  1. Вывести список топиков в кластере Kafka.

    Старая версия: kafka-topics.sh --list --zookeeper {название контейнера зукипера}:{порт зукипера}

    Новая версия: kafka-topics.sh --list --bootstrap-server localhost:9092

  1. Вывести детали конкретного Топика

    Старая версия: kafka-topics.sh --describe --zookeeper {название контейнера зукипера}:{порт зукипера} --topic {название топика}

    Новая версия: kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic {название топика}

  1. Добавить retention в Топик

    Старая версия: kafka-topics.sh --zookeeper {название контейнера зукипера}:{порт зукипера} --alter --topic {название топика} --config retention.ms={время в миллисекундах}

    Новая версия: kafka-configs.sh --bootstrap-server localhost:9092 --entity-type topics --entity-name {название топика} --alter --add-config retention.ms={время в миллисекундах}

  1. Удаление топика (Дважды подумайте!)

    Старая версия: kafka-topics.sh --delete --zookeeper {название контейнера зукипера}:{порт зукипера} --topic {название топика}

    Новая версия: kafka-topics.sh --bootstrap-server localhost:9092 --delete --topic {название топика}


    Примечание: использовать данную команду крайне не рекомендуется. Удаление топика это последнее средство для устранения ошибок связанных с топиками. Также стоит отметить, что удалять лучше из GUI KafDrop-а на странице нужного Топика (красная кнопка "Delete topic")


    Примечание 2: при удалении топика удостоверьтесь, что в Кафку не поступают и из Кафки не потребляются никакие сообщения, иными словами, нужно отключить (потушить) все pod-ы Java-приложений, так как в них реализована логика Producers и Consumers. Только после этого можно удалить топик

Потенциальные проблемы

Если при исполнении команды вышла ошибка "Address already on use", то необходимо обнулить переменные окружения "JMX_PORT" и/или "KAFKA_OPTS" (не забудьте вернуть обратно)