Поиск…


Вступление

Kafka предлагает инструменты командной строки для управления темами, группами потребителей, для потребления и публикации сообщений и т. Д.

Важно : скрипты консоли Kafka отличаются для платформ Unix и Windows. В примерах вам может потребоваться добавить расширение в соответствии с вашей платформой.

Linux : скрипты, расположенные в bin/ с расширением .sh .

Windows : скрипты, расположенные в bin\windows\ и с расширением .bat .

Кафка-тема

Этот инструмент позволяет вам просматривать, создавать, изменять и описывать темы.

Список тем:

kafka-topics  --zookeeper localhost:2181 --list

Создать тему:

kafka-topics  --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

создает тему с одним разделом и без репликации.

Опишите тему:

kafka-topics  --zookeeper localhost:2181 --describe --topic test

Изменить тему:

# change configuration
kafka-topics  --zookeeper localhost:2181 --alter --topic test --config max.message.bytes=128000
# add a partition
kafka-topics  --zookeeper localhost:2181 --alter --topic test --partitions 2

(Остерегайтесь: Kafka не поддерживает сокращение количества разделов темы) (см. Этот список свойств конфигурации )

Кафка-консоли производитель

Этот инструмент позволяет создавать сообщения из командной строки.

Отправить простые строковые сообщения в тему:

kafka-console-producer --broker-list localhost:9092 --topic test
here is a message
here is another message
^D

(каждая новая строка представляет собой новое сообщение, введите ctrl + D или ctrl + C, чтобы остановить)

Отправлять сообщения с помощью клавиш:

kafka-console-producer --broker-list localhost:9092 --topic test-topic \
        --property parse.key=true \
        --property key.separator=,
key 1, message 1
key 2, message 2
null, message 3
^D

Отправлять сообщения из файла:

kafka-console-producer --broker-list localhost:9092 --topic test_topic < file.log

Кафка-консоль потребителя

Этот инструмент позволит вам использовать сообщения из темы.

для использования старой реализации потребителя замените --bootstrap-server на --zookeeper .

Отображение простых сообщений:

kafka-console-consumer --bootstrap-server localhost:9092 --topic test 

Использовать старые сообщения:

Чтобы увидеть старые сообщения, вы можете использовать опцию --from-beginning .

Отображать сообщения о значении ключа :

kafka-console-consumer  --bootstrap-server localhost:9092 --topic test-topic \
    --property print.key=true \
    --property key.separator=, 

Кафка-простой потребитель-оболочка

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

Полезные параметры:

  • parition : конкретный раздел для потребления (по умолчанию для всех)
  • offset : начальное смещение. Используйте -2 для потребления сообщений с начала, -1 для потребления с конца.
  • max-messages : количество сообщений для печати
  • replica : реплика, по умолчанию брокера-лидера (-1)

Exemple:

kafka-simple-consumer-shell  \
    --broker-list localhost:9092 \
    --partition 1 \
    --offset 4 \
    --max-messages 3 \
    --topic test-topic

отображает 3 сообщения из раздела 1, начинающегося со смещения 4, из темы теста темы.

Кафка-потребительские группы

Этот инструмент позволяет вам перечислять, описывать или удалять группы пользователей. Взгляните на эту статью для получения дополнительной информации о группах потребителей.

если вы все еще используете старую потребительскую реализацию, замените --bootstrap-server на --zookeeper .

Список групп потребителей:

kafka-consumer-groups  --bootstrap-server localhost:9092 --list
octopus

Опишите группу потребителей:

kafka-consumer-groups  --bootstrap-server localhost:9092 --describe --group octopus
GROUP          TOPIC           PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG       OWNER
octopus        test-topic      0          15              15              0         octopus-1/127.0.0.1
octopus        test-topic      1          14              15              1         octopus-2_/127.0.0.1

Примечания : в выводе выше,

  • current-offset - это последнее зафиксированное смещение экземпляра потребителя,
  • log-end-offset - это самое высокое смещение раздела (следовательно, суммирование этого столбца дает общее количество сообщений для этой темы)
  • lag - разница между текущим потребительским смещением и самым высоким смещением, следовательно, насколько далеко отстает потребитель,
  • owner - client.id потребителя (если не указано, отображается по умолчанию).

Удалить группу пользователей:

удаление доступно только в том случае, если метаданные группы хранятся в zookeeper (старый потребитель api). С новым API-интерфейсом для клиентов брокер обрабатывает все, включая удаление метаданных: группа удаляется автоматически, когда последнее зафиксированное смещение для группы истекает.

kafka-consumer-groups --bootstrap-server localhost:9092 --delete --group octopus


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow