卡夫卡经纪人花了太长时间才出现

Ank*_*ana 3 apache-kafka

最近,我们的 Kafka 经纪人之一(共 5 个)被错误关闭。现在我们再次启动它,有很多关于损坏的索引文件的警告消息,即使在 24 小时后,代理仍在启动。该代理中有超过 400 GB 的数据。

尽管其余代理已启动并正在运行,但某些分区将 -1 显示为它们的领导者,而将坏代理显示为唯一的 ISR。我没有看到其他副本被任命为新的领导者,也许是因为坏代理是这些分区唯一同步的代理。

Broker Properties: 
Replication Factor: 3
Min In Sync Replicas: 1
Run Code Online (Sandbox Code Playgroud)

我不知道如何处理这个。我应该等待经纪人自己解决所有问题吗?花这么多时间正常吗?

还有什么我可以做的吗?请帮忙。

Mic*_*son 6

非正常关闭后,代理可能需要一段时间才能重新启动,因为它必须进行日志恢复。

默认情况下,Kafka 每个日志目录仅使用一个线程来执行此恢复,因此如果您有数千个分区,则可能需要数小时才能完成。

为了加快速度,建议碰撞num.recovery.threads.per.data.dir. 您可以将其设置为 CPU 内核数。

  • 在文档中写道:“由于索引文件数量的增加,在一些具有大量日志段(例如> 15K)的代理上,代理启动期间的日志加载过程可能会更长。根据我们的实验,将 num.recovery.threads.per.data.dir 设置为 1 可能会减少日志加载时间。因此,他们说立即离开会减少日志加载时间。您是否用 1 或大于 1 的值来衡量此过程的加速情况? (3认同)