jes*_*ica 3 linux apache-kafka
我们使用的是 Kafka 版本 - 2.7.1。集群包括 5 台 Linux RHEL 7.6 版本上的 Kafka 机器
\n我们希望在所有 5 个代理上执行 Kafka 重启,但由于 Kafka 集群是生产集群,因此滚动重启应该是正确的方法。
\n所以我们编写了 bash 脚本来执行以下操作
\nsystemctl命令)除了上述步骤 \xe2\x80\x93 1-4 之外,在 kafka02、kafka03、kafka04、kafka05 上继续执行相同的步骤 1-4。
\n我们要添加有关 \xe2\x80\x93 的验证,验证启动 Kafka 代理后没有出现损坏的索引 (出现在 Kafka 日志 - server.log),然后再继续下一个 Kafka 代理
但我们不确定是否需要这个额外步骤
\n注意 - Kafka 代理重新启动后 - 通常server.log我们可以看到 Kafka 尝试修复损坏的索引(因此可能需要大约 10 分钟到 1 小时)
kafka-topics.sh --bootstrap-server kafka01:9092 --describe --under-replicated-partitions | wc -l
Run Code Online (Sandbox Code Playgroud)
重新启动代理后,请确保在转移到另一个代理之前没有复制不足的分区,
为了确保 kafka 集群中的一个代理不会出现中断,您需要确保所有主题都在使用replication.factor=3并且min.isr=2
为了不传递控制器(两次),您应该检查哪个代理是 kafka 控制器并最后重新启动它。
zookeeper-shell.sh [ZK_IP] get /controller
Run Code Online (Sandbox Code Playgroud)
您应该最后重新启动它以避免传递控制器,当重新启动此代理时,控制器角色将被分配给另一个正在运行的代理,因此最后重新启动它将确保您仅传递控制器一次
| 归档时间: |
|
| 查看次数: |
4089 次 |
| 最近记录: |