Kafka - 如果分区丢失如何恢复?

Apo*_*-11 3 apache-kafka

我的集群中有 4 个 Kafka 节点,一个主题分为 40 个分区,副本数为 2。Kafka 版本是 2.3.1。

当两个Kafka节点同时死亡,无法再次启动并且Kafka日志丢失时,如何恢复?

我确信我丢失了一些数据,因为某些分区丢失了(某些分区仅在死亡节点上有副本)。

我尝试添加两个新的 Kafka 节点并将分区重新分配给所有 4 个可用的 Kafka 节点。最后,丢失的分区不会重新分配给两个新的 Kafka 节点。客户端无法发布丢失分区的数据。

HIS*_*ISI 5

仅当这些分区仍然具有至少一个先前同步的活动副本时,Kafka 才会自行恢复丢失的分区。否则,unclean.leader.election必须在代理上启用才能将领导者移动到不同步的副本

由于分区只有 2 个副本,并且您丢失了 2 个节点,因此您可能会丢失一些分区。

您可以将 2 个副本替换为 4 个副本,以提高可靠性

添加的两个节点应与之前的节点具有相同的 id,以便能够拉取副本。