gpt4 book ai didi

linux - Kafka 滚动重启——在生产集群上执行 Kafka 滚动重启的正确方法是什么

转载 作者:行者123 更新时间:2023-12-01 23:21:16 42 4
gpt4 key购买 nike

我们使用的是 Kafka 版本 - 2.7.1。集群包含5台Linux RHEL 7.6版本的Kafka机器

我们想在所有 5 个代理上执行 Kafka 重启,但由于 Kafka 集群是生产集群,因此滚动重启应该是正确的方法。

所以我们编写了执行以下操作的 bash 脚本

  1. 停止kafka01代理(通过systemctl命令)
  2. 验证没有 Kafka PID(进程)
  3. 启动kafka01代理
  4. 验证 kafka01 正在监听 Kafka 端口 6667

并在 kafka02、kafka03、kafka04、kafka05 上继续执行相同的步骤 1-4,以及上述步骤 - 1-4。

我们要添加验证 - verify no corrupted indexes appears after starting the Kafka broker (出现在 Kafka log - server.log), before continue to下一个 Kafka 经纪人

但我们不确定是否需要这个额外的步骤

注意 - 在 Kafka 代理重启后 - 通常在 server.log 中我们可以看到 Kafka 试图修复损坏的索引(因此它可能需要大约 10 分钟到 1 小时)

最佳答案

kafka-topics.sh --bootstrap-server kafka01:9092 --describe --under-replicated-partitions | wc -l

在您重新启动代理后,请确保在移动到另一个代理之前没有复制不足的分区,

为了不让 kafka 集群中的一个 broker 停机,您需要确保所有主题都使用 replication.factor=3min.isr=2

为了不传递 Controller (两次),您应该检查哪个代理是 kafka Controller 并在最后重新启动它。

zookeeper-shell.sh [ZK_IP] get /controller

您应该最后重新启动它以避免传递 Controller ,当重新启动此代理时, Controller 角色将分配给另一个正在运行的代理,因此最后重新启动它可以确保您只传递 Controller 一次

关于linux - Kafka 滚动重启——在生产集群上执行 Kafka 滚动重启的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68086224/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com