簡體   English   中英

使用多個分區運行Zookeeper Kafka-Java

[英]Running Zookeeper with Multiple Partitions Kafka - Java

我正在嘗試使用Java API運行zookeeper,以便能夠啟動具有多個分區的主題。 我相信這個答案可以解決問題 但是,當我嘗試運行此代碼時,出現錯誤:

無法連接到Zookeeper服務器'localhost:2181',超時時間為8000毫秒

在這台機器上,我沒有運行Zookeeper服務器。 但是我想用Java啟動一個實例(目前,我可以使用ZooKeeperServerMain()類來執行此操作)。 因此,也許我需要做同樣的事情,但是以某種方式將其與第一個答案結合在一起,該答案包含了向該主題添加多個分區的可能性。

對於它的價值,我可以使用此答案啟動zookeeper,但這只會為一個主題創建一個分區,而這並不是我想要的。

本質上,我想啟動Zookeeper(可以使用第二個鏈接來執行此操作),在本地啟動Kafka(也可以執行該操作),啟動一個生產者,該生產者可以生成一個主題,但具有三個不同的分區,以及3個不同的使用者,將讀取消息,每個分區中的一個(如果我正確理解Kafka,如果啟動3個使用者,則將平均划分3個分區)。 所有這些操作都是使用Java API完成的(我沒有運行Kafka腳本或任何東西)。 但是,我很難創建具有三個分區的主題,這是我的問題。

代理的num.partitions配置可用於為自動創建的主題(由生產者或消費者創建)強制實施分區數量。 為了使該配置生效,需要先刪除已經創建的主題。 僅自動創建的主題(更改此配置后)將受到影響。

展望未來,您不應該直接與Zookeeper對話以在Kafka中創建或管理主題。 您應該使用Kafka 0.11中引入的新AdminClient API。

https://kafka.apache.org/0110/javadoc/index.html?org/apache/kafka/clients/admin/AdminClient.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM