apache-kafka
Инструменты консоли kafka
Поиск…
Вступление
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