以下是Kafka的一些常用操作命令,包括主题(Topic)和分区(Partition)的操作、扩容和迁移,以及列出所有主题和消费组、查看最近消费情况的命令:

主题和分区操作

创建主题

kafka-topics.sh --create --topic <topic_name> --partitions <num_partitions> --replication-factor <replication_factor> --bootstrap-server <broker_list>
  • <topic_name>:主题名称
  • <num_partitions>:分区数目
  • <replication_factor>:复制因子(副本数目)
  • <broker_list>:Kafka broker列表

列出所有主题

kafka-topics.sh --list --bootstrap-server <broker_list>
  • <broker_list>:Kafka broker列表

查看主题详情

kafka-topics.sh --describe --topic <topic_name> --bootstrap-server <broker_list>
  • <topic_name>:主题名称
  • <broker_list>:Kafka broker列表

添加分区

kafka-topics.sh --alter --topic <topic_name> --partitions <num_partitions> --bootstrap-server <broker_list>
  • <topic_name>:主题名称
  • <num_partitions>:新的分区数目
  • <broker_list>:Kafka broker列表

扩容和迁移

扩展主题分区

kafka-reassign-partitions.sh --reassignment-json-file <reassignment_json_file> --execute --throttle <throttle> --bootstrap-server <broker_list>
  • <reassignment_json_file>:分区重新分配的JSON文件路径
  • <throttle>:迁移速率限制(可选)
  • <broker_list>:Kafka broker列表

查看分区重新分配状态

kafka-reassign-partitions.sh --reassignment-json-file <reassignment_json_file> --verify --bootstrap-server <broker_list>
  • <reassignment_json_file>:分区重新分配的JSON文件路径
  • <broker_list>:Kafka broker列表

列出所有主题和消费组

列出所有主题

kafka-topics.sh --list --bootstrap-server <broker_list>
  • <broker_list>:Kafka broker列表

列出所有消费组

kafka-consumer-groups.sh --list --bootstrap-server <broker_list>
  • <broker_list>:Kafka broker列表

查看最近消费情况

查看消费组的消费情况

kafka-consumer-groups.sh --describe --group <group_name> --bootstrap-server <broker_list>
  • <group_name>:消费组名称
  • <broker_list>:Kafka broker列表

查看主题的最近消息

kafka-console-consumer.sh --topic <topic_name> --bootstrap-server <broker_list> --from-beginning --max-messages <num_messages>
  • <topic_name>:主题名称
  • <broker_list>:Kafka broker列表
  • <num_messages>:最大消息数目(可选)

这些命令可以帮助你在Kafka中进行主题和分区的操作,执行扩容和

迁移,列出所有主题和消费组,并查看最近的消费情况。