在 Debian 上更新 Kafka 版本,官方仓库里的 Kafka 通常很旧,所以一般都是手动升级。下面给你一套常用、稳妥的升级流程,适用于生产或测试环境。
kafka-topics.sh --version
# 或
/path/to/kafka/bin/kafka-server-start.sh --version
常见情况:
/opt/kafka/usr/local/kafkahttps://kafka.apache.org/downloads
例如:
wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
Scala 版本(2.13)一般不影响使用
tar -xzf kafka_2.13-3.6.1.tgz -C /opt
mv /opt/kafka_2.13-3.6.1 /opt/kafka-new
cp -r /opt/kafka/config /opt/kafka-new/config
常见需要保留的文件:
server.propertiesproducer.propertiesconsumer.propertieslog4j.properties⚠️ 不要直接覆盖新版本默认配置
server.propertiesbroker.id
log.dirs
zookeeper.connect
listeners
advertised.listeners
✅ 必须和旧版本一致
Kafka 支持 滚动升级(Rolling Upgrade)
systemctl stop kafka
# 或
/opt/kafka/bin/kafka-server-stop.sh
rm /opt/kafka
ln -s /opt/kafka-new /opt/kafka
systemctl start kafka
# 或
/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
如果是 多 broker 集群:
# 查看集群状态
kafka-broker-api-versions.sh --bootstrap-server localhost:9092
/opt/kafka/bin/kafka-topics.sh --version
kafka-broker-api-versions.sh --bootstrap-server localhost:9092
kafka-topics.sh --bootstrap-server localhost:9092 --list
如果升级失败:
systemctl stop kafka
rm /opt/kafka
ln -s /opt/kafka-old /opt/kafka
systemctl start kafka
apt install kafka/opt/kafka -> /opt/kafka-3.6.1
你可以直接告诉我:
我可以给你 一步不出错的升级命令清单 ✅