標籤:

kafka只能用命令來創建topic么?

最新剛學了下kafka0.10的,怎麼感覺客戶端沒有用於創建topic的工具類(不是自動創建,還想調一下topic的配置),實際場景也只能用命令去創建么?


在更新一個版本的0.11中,我們已經加了一個AdminClient用於程序化創建topic:

KIP-117: Add a public AdminClient API for Kafka admin operations

目前很多在0.11.0.x版本上的客戶端都已經在生產環境用這個client來處理各種admin請求,比如創建topic


客戶端雖可以使用API來創建,但需要在項目中引入kafka-core的依賴,然後調用這樣的代碼(Scala版本):

val zkUtils = ZkUtils("zkHost01:2181", 30000, 30000, false)
// Create a topic named test-topic with 1 partition and 1 replica
AdminUtils.createTopic(zkUtils, "test-topic", 1, 1)


import scala.sys.process._
val shell = s"kafka-topics.sh --zookeeper localhost:2181 --create --partitions $partitions --replication $replication --topic $topic"
shell.!!


直接往zookeeper寫就行,不管什麼工具都是往zookeeper上寫,controller監聽zookeeper創建topic。


可以使用kafka manager等圖形化管理工具


推薦閱讀:

《Kafka:The Definitive Guide》第四章Kafka Consumer問題集
Kafka 2017技術峰會摘要(流計算分類)
Kafka 安裝及快速入門
Kafka(一)初識消息隊列
kafka消費者組數量較大對性能有什麼影響?

TAG:Kafka |