我们其中一个kafka群集存在问题。我们有v1.0的6个节点,所有主题的复制因子均为3和10个分区/主题,这对我们来说似乎足够了。
由于电源故障,其中三个节点宕机了一段时间,现在我们有很多主题,据报告它们的分区不足。
我们在论坛上看到的唯一解决方案(并且似乎更为人所接受)是进行滚动重启,直到一切都神奇地修复为止,但是我希望对此有一个更好的解决方案。有没有人从这种情况中恢复过来?网络或CPU同步并不是问题,因为它甚至还没有达到极限。
非常感谢!
答案 0 :(得分:0)
让Kafka自动处理它可能是您最好的选择,通常使用主题重新分配工具。 https://www.google.no/search?q=kafka+partition+reassignment+tool
您还可以通过使用所有主题并将所有消息写到新主题(具有与当前主题相同的设置,但名称略有不同)来强制重新分配。
答案 1 :(得分:0)
最后,我们可以手动恢复群集,并删除许多损坏的群集,因此我们将复制不足的分区从大约4600减少到大约1k。
此后,又将所有节点都只包含在两个节点中,我们决定在两个节点中执行有序关闭,然后复制再次开始。
我想是有一种错误会使kafka停止从节点复制,但这确实可以解决问题。