温馨提示×

Debian怎么更新Kafka版本

小樊
53
2026-08-06 19:58:27
栏目: 智能运维

在 Debian 上更新 Kafka 版本,官方仓库里的 Kafka 通常很旧,所以一般都是手动升级。下面给你一套常用、稳妥的升级流程,适用于生产或测试环境。


一、准备工作

1. 查看当前 Kafka 版本

kafka-topics.sh --version
# 或
/path/to/kafka/bin/kafka-server-start.sh --version

2. 确认 Kafka 安装方式

常见情况:

  • /opt/kafka
  • /usr/local/kafka
  • systemd 服务
  • Docker(如果是 Docker,方式不同)

二、升级方式(推荐:并行安装 + 切换)

✅ 推荐方案:不覆盖旧版本,先装新版本再切换


三、下载新版本 Kafka

1. 去官网找版本

https://kafka.apache.org/downloads

例如:

wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz

Scala 版本(2.13)一般不影响使用


2. 解压到新目录

tar -xzf kafka_2.13-3.6.1.tgz -C /opt
mv /opt/kafka_2.13-3.6.1 /opt/kafka-new

四、迁移配置(关键)

1. 复制配置文件

cp -r /opt/kafka/config /opt/kafka-new/config

常见需要保留的文件:

  • server.properties
  • producer.properties
  • consumer.properties
  • log4j.properties

⚠️ 不要直接覆盖新版本默认配置


2. 重点检查 server.properties

broker.id
log.dirs
zookeeper.connect
listeners
advertised.listeners

✅ 必须和旧版本一致


五、升级 Kafka(滚动升级,推荐)

Kafka 支持 滚动升级(Rolling Upgrade)

1. 停止旧 Kafka(单节点)

systemctl stop kafka
# 或
/opt/kafka/bin/kafka-server-stop.sh

2. 切换软链接(如果有)

rm /opt/kafka
ln -s /opt/kafka-new /opt/kafka

3. 启动新 Kafka

systemctl start kafka
# 或
/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties

六、多 Broker 集群升级(重要)

如果是 多 broker 集群

升级顺序

  1. 逐个升级 broker
  2. 每次升级一个
  3. 等 broker 重新加入集群后再升级下一个

升级前建议

# 查看集群状态
kafka-broker-api-versions.sh --bootstrap-server localhost:9092

七、升级后检查

1. 查看版本

/opt/kafka/bin/kafka-topics.sh --version

2. 检查 broker 状态

kafka-broker-api-versions.sh --bootstrap-server localhost:9092

3. 检查 topic / 消费是否正常

kafka-topics.sh --bootstrap-server localhost:9092 --list

八、Kafka + ZooKeeper / KRaft 注意事项

✅ ZooKeeper 模式

  • Kafka 升级 不升级 ZooKeeper
  • ZooKeeper 保持原版本即可

✅ KRaft 模式(新版本)

  • 3.x 支持 KRaft(不依赖 ZooKeeper)
  • 不要直接从 ZooKeeper 切到 KRaft
  • 除非官方明确支持迁移

九、回滚方案(很重要)

如果升级失败:

systemctl stop kafka
rm /opt/kafka
ln -s /opt/kafka-old /opt/kafka
systemctl start kafka

十、Debian 系统建议

  • 使用 systemd 管理 Kafka
  • 不要依赖 apt install kafka
  • 推荐目录结构:
/opt/kafka -> /opt/kafka-3.6.1

十一、我可以帮你更具体

你可以直接告诉我:

  1. Kafka 当前版本
  2. 单节点还是集群
  3. 使用 ZooKeeper 还是 KRaft
  4. 是否生产环境

我可以给你 一步不出错的升级命令清单

0