Kafka 主题 CLI 教程

Kafka Topics CLI,即kafka-topics用于创建、删除、描述或更改 Kafka 中的主题。请确保您已预先启动 Kafka 

如何创建 Kafka 主题?

要创建 Kafka 主题,我们需要提供必需的参数:

  • 如果是 Kafka v2.2+,请使用 Kafka 主机名和端口,例如,localhost:9092

  • 如果是旧版本的 Kafka,请使用 Zookeeper URL 和端口,例如localhost:2181

  • 提供必需参数:主题名称、分区数和复制因子。

  • 使用kafka-topics.sh带有--create选项的CLI

重要建议:如果你使用 Kafka v2.2+

如果您拥有最新版本的 Kafka,我们强烈建议您使用带有该--bootstrap-server选项的命令,因为 Zookeeper 选项现已弃用并作为 Kafka v3 的一部分被删除。

 
 

例子

first_topic当我的 Kafka 代理运行时,创建具有 3 个分区和 1 个复制因子的 Kafka 主题localhost:9092

Kafka v2.2+

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

Kafka v2.1 或更低版本:

kafka-topics.sh --zookeeper localhost:2181 --topic first_topic --create --partitions 3 --replication-factor 1

命令输出

WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.
Created topic first_topic.

陷阱

以下是该命令的常见错误和注意事项kafka-topics.sh --create

  • 您不能指定大于您拥有的代理数量的复制因子

  • 你可以指定任意数量的分区,在开发中,3 是一个不错的选择

  • 如果运行命令后看到文档,则表示你的命令是错误的。向上滚动可查看有关错误消息的详细信息

  • 分区和复制因子没有默认值,您必须明确指定

  • 主题名称只能包含 ASCII 字母数字、“.”、“_”和“-”

您可以设置的额外重要选项(高级)

--config

例如,您可以设置主题级别的配置--config max.message.bytes=64000

--disable-rack-aware

禁用机架感知副本分配(不推荐,仅当您知道自己在做什么时才设置)

如何列出 Kafka 主题?

要列出 Kafka 主题,我们需要提供必需的参数:

  • 如果是 Kafka v2.2+,请使用 Kafka 主机名和端口,例如,localhost:9092

  • 如果是旧版本的 Kafka,请使用 Zookeeper URL 和端口,例如localhost:2181

  • 使用kafka-topics.sh带有--list选项的CLI

例子

当我的 Kafka 代理运行时列出主题localhost:9092

Kafka v2.2+

kafka-topics.sh --bootstrap-server localhost:9092 --list

。。。。。。

posted @ 2024-06-09 19:31  wongchaofan  阅读(36)  评论(0编辑  收藏  举报