簡體   English   中英

為什么Kafka中的__consumer_offsets主題沒有傳播到所有經紀人?

[英]Why __consumer_offsets topic in kafka is not spreading to all the brokers?

我有一個3個zk節點群集。 還有7個kafka經紀人節點。

因此,當我創建任何主題時,可以使用命令行參數設置復制因子,而不設置分區。

這些分區已傳播到所有7個__consumer_offsets 。但是有一個主題,即__consumer_offsets ,它是自動創建的,並且僅傳播給1個具有1個復制的代理(id = 0)。

我知道我可以在配置文件中更改默認的復制因子編號。

但是,此主題僅復制給一個代理。 那么可以更改哪些參數以將分區復制到所有代理。

這對我來說真的很奇怪。 我部署了3個Kafka代理群集,我的__consumer_offsets主題在3個代理之間划分了50個分區(默認),並具有3個(默認)副本。 當您從單個Kafka代理開始時,您描述的內容可能會發生,創建用於閱讀主題的使用者,以便自動創建__consumer_offsets ,它將僅位於代理0上(唯一)。 之后,您添加新的Kafka代理:不做任何事情__consumer_offsets仍保留在代理0上; 您需要使用Kafka進行手動分區重新分配,如上所述。

您將需要使用Kafka分區重新分配。 不幸的是,這是當前的半手動過程: https : //kafka.apache.org/documentation/#basic_ops_cluster_expansion

您需要在代理配置中將“ offsets.topic.replication.factor ”設置為所需的副本數。

offsets.topic.replication.factor ” offsets主題的復制因子( 設置為較高以確保可用性 )。內部主題的創建將失敗,直到群集大小滿足此復制因子的要求為止。

參考-http://kafka.apache.org/documentation/#brokerconfigs

暫無
暫無

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

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