Kafka 主題 CLI 教程

wongchaofan發表於2024-06-09

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

。。。。。。

相關文章