2016-08-04 32 views
3

我想使用Kafka 0.10 API創建經紀人集羣,最好使用Java。至於我已經閱讀kafka_2.11-0.10.0.0.jar用做支持建立經紀人:使用Apache Kafka 0.10.0 API創建Kafka經紀人集羣使用Java

import kafka.cluster.Broker; 
import kafka.cluster.Cluster; 

但我不能找到這樣做的任何文件。我最近閱讀[1],其中說明如何使用Java中的Kafka API創建主題。我們是否可以做類似的事情創建代理羣集,更新分區,將現有數據/分區遷移到新代理(因爲這些新代理不會自動分配任何數據分區,所以除非分區被移動到他們他們不會做任何工作[2])

[1] How Can we create a topic in Kafka from the IDE using API

[2] https://kafka.apache.org/0100/ops.html#basic_ops_cluster_expansion

回答

0

我有一些示例代碼您可能發現有用的。

要創建經紀人,請看KafkaTestServer。這實際上是爲了更簡單的測試,所以它不會創建集羣,只是一個代理,但擴展應該不難。

一旦我建立了在測試服務器中創建/查詢/刪除主題的能力,我創建了一個獨立的管理客戶端來對其他服務器做同樣的事情,所以如果您已經創建了代理集羣,那麼您應該能夠使用代碼來維護主題。看看KafkaAdminClient

管理客戶端基本上是圍繞kafka.admin.AdminUtils類,以便處理所有階<階純Java包裝 - 在幕後> Java的轉換。