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
。。。。。。