在 Debian 系统上升级 Kafka,通常不是用 apt 直接升级(Debian 官方仓库里的 Kafka 版本往往很旧),而是手动下载新版本并平滑迁移。下面按最常用、最安全的做法说明。
kafka-server-start.sh --version
# 或
cat /opt/kafka/README.md | grep version
# 配置
cp -r /opt/kafka/config /opt/kafka/config.bak
# 数据(如果你的 log.dirs 在这里)
cp -r /var/lib/kafka /var/lib/kafka.bak
⚠️ Kafka 版本不能乱跳
systemctl stop kafka
# 或
/opt/kafka/bin/kafka-server-stop.sh
cd /opt
wget https://downloads.apache.org/kafka/3.7.0/kafka_2.13-3.7.0.tgz
tar -xzf kafka_2.13-3.7.0.tgz
cp /opt/kafka/config.bak/server.properties \
/opt/kafka_2.13-3.7.0/config/server.properties
rm -f /opt/kafka
ln -s /opt/kafka_2.13-3.7.0 /opt/kafka
编辑 server.properties:
inter.broker.protocol.version=CURRENT_VERSION
log.message.format.version=CURRENT_VERSION
例如从 3.5 → 3.7:
inter.broker.protocol.version=3.5
log.message.format.version=3.5
启动后确认无误,再改成新版本并重启。
systemctl start kafka
# 或
/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
检查:
/opt/kafka/bin/kafka-topics.sh --bootstrap-server localhost:9092 --list
inter.broker.protocol.version 保持一致apt update
apt upgrade kafka
⚠️ 缺点:
如果你愿意,可以告诉我:
我可以给你精确到命令的升级方案。