下面给你一个Linux 下 Kafka 升级的实操指南,涵盖常见版本升级(0.10+ → 新版本)和注意事项。以 Kafka 二进制包(tar.gz) 为例,这是生产环境最常见方式。
kafka-server-start.sh --version
# 或
grep version libs/kafka_*.jar
server.propertieszookeeper.properties(如果用 ZK)cp server.properties server.properties.bak
tar czf kafka-data-backup.tgz /data/kafka
关键规则:
官方兼容说明: https://kafka.apache.org/documentation/#upgrade
适用于 多 Broker 集群
bin/kafka-server-stop.sh
# 或
kill -TERM $(cat kafka.pid)
确认已停:
jps | grep Kafka
wget https://archive.apache.org/dist/kafka/3.6.1/kafka_2.13-3.6.1.tgz
tar -xzf kafka_2.13-3.6.1.tgz
cp old-kafka/config/server.properties new-kafka/config/
⚠️ 注意:
broker.idlog.dirszookeeper.connectlistenerscd new-kafka
nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &
bin/kafka-broker-api-versions.sh --bootstrap-server localhost:9092
确认:
逐台完成所有 Broker
bin/kafka-configs.sh --bootstrap-server localhost:9092 \
--entity-type brokers --entity-defaults \
--alter --add-config log.message.format.version=3.6
客户端也要逐步升级:
⚠️ 不能热升级 步骤:
❌ 直接覆盖 config
❌ 所有 broker 同时重启
❌ 忽略 inter.broker.protocol.version
❌ 客户端版本过低
0.10 → 0.11 → 1.0 → 2.0 → 2.8 → 3.x
如果你告诉我:
我可以给你精确到命令的升级方案。