在 Kafka 中,你可以使用 kafka-topics.sh 工具来创建主题。这个工具是 Kafka 自带的管理工具,可以用来执行各种主题操作,包括创建、列出和删除主题。

使用 kafka-topics.sh 脚本创建 Kafka 主题 topic_管理工具

创建 Kafka 主题的命令

kafka-topics.sh --create --topic <topic_name> --bootstrap-server <broker_list> --partitions <num_partitions> --replication-factor <replication_factor>

参数说明

  • --create:表示你要创建一个新主题。
  • --topic <topic_name>:指定要创建的主题名称。
  • --bootstrap-server <broker_list>:Kafka 集群的地址(至少一个 broker),例如 localhost:9092kafka1:9092,kafka2:9092
  • --partitions <num_partitions>:指定主题的分区数。Kafka 通过分区来分散消息的存储和消费,通常一个主题会有多个分区。
  • --replication-factor <replication_factor>:指定主题的副本数,通常设置为 2 或 3。副本用于提高数据的可靠性。

示例

假设你想要创建一个名为 my-topic 的主题,设置 3 个分区和 2 个副本,连接的 Kafka broker 为 localhost:9092,可以执行以下命令:

kafka-topics.sh --create --topic my-topic --bootstrap-server localhost:9092 --partitions 3 --replication-factor 2

其他常用选项

  1. 列出所有主题
    你可以使用 --list 来列出当前 Kafka 集群中所有的主题:
kafka-topics.sh --list --bootstrap-server localhost:9092
  1. 描述主题
    你可以使用 --describe 来查看一个特定主题的详细信息,包括分区和副本信息:
kafka-topics.sh --describe --topic my-topic --bootstrap-server localhost:9092
  1. 删除主题
    如果你想要删除一个主题,可以使用 --delete
kafka-topics.sh --delete --topic my-topic --bootstrap-server localhost:9092