2015-06-08 64 views
0

我們正在使用0.8.2.1建立一個新的Kafka項目,並且希望將消費者補償專門寫入Kafka。所以我們在我們的消費者配置中設置了offsets.storage=kafkadual.commit.enabled=false。然而,當我們創造我們的消費者連接器,它仍然要連接到的ZooKeeper:如何使用offsets.storage = kafka的Kafka 0.8.2.1仍然需要ZooKeeper?

kafka.consumer.Consumer.createJavaConsumerConnector(config); 
// fails with: 
// Caused by: java.lang.IllegalArgumentException: requirement failed: 
//  Missing required property 'zookeeper.connect' 

我想也許我們只需要指定zookeeper.connect一下子就被如此漠視我指定了無效的主機名,但仍然失敗,因爲它確實嘗試連接。如果我們可以避免,我們真的不希望我們的消費者必須連接到ZooKeeper。那麼是什麼給了?

回答

6

似乎ZooKeeper仍然是0.8.2中的一個要求,但他們希望在0.8.3中解決這個問題。從格溫夏皮拉在郵件列表上:

現有的消費者使用動物園管理員都承諾偏移和 分配給不同的消費者和線程分區相同 消費者小組。 儘管可以在0.8.2版本中將偏移量提交給Kafka,但其中的 大大降低了Zookeeper的負載,但是客戶仍然需要 Zookeeper來管理組成員資格和分區所有權。 新消費者(我們希望已經準備好發佈0.8.3版本)將完全刪除Zookeeper的依賴關係,管理Kafka本身的偏移量和 分區所有權。

相關問題