簡體   English   中英

kafka 領導者不可用 - kafka-reassign-partitions

[英]kafka leader unavailable - kafka-reassign-partitions

按照有關 Apache Kafka 的一些教程/課程,我有一個關於重新分配分區的問題。 CLI kafka-reassign-partitions重新分配kafka-reassign-partitions和partitions,看起來不錯。

然而,有人提到該命令可用於在分區領導代理不可用於選舉另一個分區領導的情況下。

問題:如果分區領導代理(比如任何代理)不可用,是否應該自動選舉新的領導? 不是控制器節點的責任嗎? 或者它只是一個錯誤的預期用途?

你是對的,Kafka 應該小心選擇一個新的分區領導者。 任何同步副本都可以用作新的分區領導者。 但是,可能會發生分區領導代理在能夠將所有數據復制到其副本之前死亡的情況。 在這種情況下,您提到的 CLI 可以提供幫助。

然而,這個工具有兩個主要用途(注意 Kafka 期望一個失敗的 broker 重新啟動,它不會自動將所有數據從一個健康的復制轉移到一個正在運行的 broker):

  • 假設您有一個包含五個代理的集群,並且您應用了 3 的復制因子。 隨着時間的推移,您將創建多個主題,並且這些主題的字節大小分別增加。 創建主題時,Kafka 不知道主題會有多大,它會在循環的基礎上選擇領導者。 為了避免在一個代理上擁有所有“大”主題並用完磁盤空間,您可以使用該工具將其分區(包括領導者和副本)重新分配給其他代理。

  • 如果您向集群添加更多代理,Kafka 仍將堅持使用現有代理作為其分區領導者(和副本)。 只有新創建的主題才能使用新的代理。 即使您重新啟動所有代理,分區領導者也會堅持其舊位置。 CLI 工具可幫助您平衡所有(包括新的)代理的負載。

暫無
暫無

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

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