我在一个集群中有 4 个 Kafka 节点,一个主题拆分为 40 个分区,副本数为 2。Kafka 版本为 2.3.1。
两个Kafka节点同时挂掉,无法重新启动,Kafka日志丢失,如何恢复?
我确信我丢失了一些数据,因为一些分区丢失了(一些分区只在死节点上有副本)。
我尝试添加两个新的 Kafka 节点并将分区重新分配给所有 4 个可用的 Kafka 节点。最后,丢失的分区不会重新分配给两个新的 Kafka 节点。客户端无法发布丢失分区的数据。
最佳答案
Kafka 会自行恢复丢失的分区,前提是这些分区仍然至少有一个先前同步的事件副本。否则,必须在代理上启用 unclean.leader.election
才能将领导者移动到不同步的副本
由于分区只有 2 个副本,而您丢失了 2 个节点,因此您可能会丢失一些分区。
您可以用 4 个副本替换 2 个副本以提高可靠性
添加的两个节点应该与之前的节点具有相同的 id,以便能够拉取副本。
关于apache-kafka - Kafka - 如果分区丢失如何恢复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59579312/