Debian Kafka版本升级步骤
导读:Debian 上 Kafka 版本升级步骤 一 升级前准备 明确当前部署形态:是 Zookeeper 模式 还是 KRaft 模式,以及各 Broker 的 Scala 版本(如 2.13)。 检查兼容性: 若跨大版本,确认 Java...
Debian 上 Kafka 版本升级步骤
一 升级前准备
- 明确当前部署形态:是 Zookeeper 模式 还是 KRaft 模式,以及各 Broker 的 Scala 版本(如 2.13)。
- 检查兼容性:
- 若跨大版本,确认 Java 版本满足要求;例如 Kafka 4.0+ 不再支持 Java 8。
- 客户端、连接器、监控告警等依赖库需与新版本兼容。
- 完整备份:
- 数据目录(如 /var/lib/kafka)、配置文件(如 /etc/kafka)、ACL/Schema Registry/监控配置等。
- 规划与演练:
- 选择维护窗口,先在 测试环境 验证;准备 回退方案(保留旧版本二进制与数据目录)。
- 集群与依赖:
- 多 Broker 集群建议 逐台滚动升级 以尽量降低影响;如使用 Zookeeper,确认其版本与新 Kafka 兼容。
二 标准升级流程
- 步骤 1 停止服务
- Zookeeper 模式:
sudo systemctl stop kafka & & sudo systemctl stop zookeeper - KRaft 模式:
sudo systemctl stop kafka
- Zookeeper 模式:
- 步骤 2 备份
sudo cp -r /var/lib/kafka /var/lib/kafka_backup_$(date +%F)sudo cp -r /etc/kafka /etc/kafka_backup_$(date +%F)
- 步骤 3 安装新版本
- 方式 A(推荐,便于系统化管理):使用 Apache 官方 APT 仓库
- 导入 GPG:
wget -qO - https://packages.apache.org/keys/apache.asc | sudo apt-key add - - 添加源(示例为 Debian 10 Buster,请按实际替换为你的发行版代号):
echo "deb https://packages.apache.org/kafka/2.8.0/debian/ buster main" | sudo tee /etc/apt/sources.list.d/kafka.list - 更新并安装:
sudo apt-get update & & sudo apt-get install kafka
- 导入 GPG:
- 方式 B(手动安装,便于多版本并存与快速回退):下载并解压
- 示例:
wget https://downloads.apache.org/kafka/3.5.0/kafka_2.13-3.5.0.tgz - 解压:
sudo tar -xzf kafka_2.13-3.5.0.tgz -C /opt & & sudo mv /opt/kafka_2.13-3.5.0 /opt/kafka_3.5.0
- 示例:
- 方式 A(推荐,便于系统化管理):使用 Apache 官方 APT 仓库
- 步骤 4 迁移与更新配置
- 保留原有配置:
sudo cp /etc/kafka/server.properties /etc/kafka/server.properties.bak - 按需合并新版本默认配置;如从旧版升级到 3.x,在升级阶段可临时设置:
inter.broker.protocol.version=旧版本(例如从 2.8 升到 3.5 可先设为 2.8)log.message.format.version=旧版本(同上)
- 若迁移到 KRaft,需新增/调整:
process.roles=broker,controller、controller.quorum.voters=...、listeners=...、advertised.listeners=...- 按官方步骤完成 元数据迁移(将 Zookeeper 元数据导入 KRaft)。
- 保留原有配置:
- 步骤 5 更新 systemd 单元(手动安装场景)
- 将单元中的
ExecStart指向新二进制路径(如 /opt/kafka_3.5.0/bin/kafka-server-start.sh),然后sudo systemctl daemon-reload。
- 将单元中的
- 步骤 6 启动与验证
- 启动:
sudo systemctl start zookeeper & & sudo systemctl start kafka(或仅启动 kafka) - 版本:
/opt/kafka_3.5.0/bin/kafka-topics.sh --version - 连通性:
/opt/kafka_3.5.0/bin/kafka-topics.sh --list --bootstrap-server localhost:9092 - 日志:
journalctl -u kafka -f或查看 /var/log/kafka/server.log
- 启动:
- 步骤 7 滚动升级其余 Broker
- 逐台重复以上步骤,完成全集群升级后再进行功能与性能验证。
三 版本差异与关键注意事项
- 大版本差异:
- Kafka 4.0+:移除 Zookeeper,默认使用 KRaft;且 不再支持 Java 8,需使用 Java 11+。
- 配置项变化:
- 从 Zookeeper 迁移到 KRaft 需新增/调整
process.roles、controller.quorum.voters、listeners等关键配置,并完成元数据迁移。
- 从 Zookeeper 迁移到 KRaft 需新增/调整
- 兼容性:
- 升级前确认 客户端库、连接器、监控/告警 与新版本兼容;必要时先在测试环境验证。
- 回退方案:
- 保留旧版本二进制与数据目录;出现异常时,停止新版本、恢复旧二进制与配置并重启。
四 快速参考命令清单
- 查看版本:
kafka-topics.sh --version - 停止服务:
sudo systemctl stop kafka(Zookeeper 模式再加sudo systemctl stop zookeeper) - 备份:
sudo cp -r /var/lib/kafka /var/lib/kafka_backup_$(date +%F);sudo cp -r /etc/kafka /etc/kafka_backup_$(date +%F) - APT 安装:
wget -qO - https://packages.apache.org/keys/apache.asc | sudo apt-key add -;echo "deb https://packages.apache.org/kafka/2.8.0/debian/ buster main" | sudo tee /etc/apt/sources.list.d/kafka.list;sudo apt-get update & & sudo apt-get install kafka - 手动安装:
wget https://downloads.apache.org/kafka/3.5.0/kafka_2.13-3.5.0.tgz;sudo tar -xzf kafka_2.13-3.5.0.tgz -C /opt & & sudo mv /opt/kafka_2.13-3.5.0 /opt/kafka_3.5.0 - 验证:
/opt/kafka_3.5.0/bin/kafka-topics.sh --list --bootstrap-server localhost:9092;journalctl -u kafka -f
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian Kafka版本升级步骤
本文地址: https://pptw.com/jishu/752693.html
