Kafka版本升级在Debian上的注意事项
/etc/kafka/server.properties
)、数据目录(如/var/lib/kafka/data
)和日志文件(如/var/log/kafka
)。可使用cp -r
命令复制到安全路径(如/backup/kafka_pre_upgrade
),避免升级过程中数据丢失。kafka-topics.sh --version
或kafka-broker-api-versions.sh --bootstrap-server localhost:9092
命令确认当前Kafka版本,为后续兼容性验证提供依据。sudo apt update && sudo apt upgrade -y
更新系统包,避免因系统库版本冲突导致升级失败。https://kafka.apache.org/downloads
)下载目标版本的二进制分发包(如kafka_2.13-3.5.0.tgz
),优先选择稳定版(GA版)。systemctl
命令停止Kafka服务(sudo systemctl stop kafka
),若集群中启用了Kafka Connect、Schema Registry等组件,需一并停止,避免服务间干扰。/opt
),使用tar -xzf kafka_x.y.z.tgz -C /opt/
命令;建议通过符号链接(如/opt/kafka
)指向新版本目录,便于后续快速切换版本。config
目录复制到现有配置路径(如sudo cp -r /opt/kafka_x.y.z/config /etc/kafka/
),重点检查以下配置项的兼容性:
inter.broker.protocol.version
:broker间通信协议版本,需与旧版本兼容(如升级到3.5.0时,可设置为旧版本的协议版本,后续再升级);log.message.format.version
:消息格式版本,需与消费者客户端版本兼容;listeners
:监听地址和端口,确保与网络环境匹配;log.dirs
:日志存储目录,确认磁盘空间充足。systemctl start kafka
启动新版本服务,通过kafka-topics.sh --version
命令检查版本是否更新;进一步使用kafka-topics.sh --list --bootstrap-server localhost:9092
列出所有主题,验证集群功能是否正常。kafka-producer-perf-test.sh
/kafka-consumer-perf-test.sh
)、延迟(kafka-consumer-groups.sh --describe
)、Broker状态(kafka-broker-api-versions.sh
)和日志(journalctl -u kafka -f
),及时发现性能下降或错误(如UnsupportedVersionException
)。/opt/kafka_x.y.z_old
)和解压的安装包(如kafka_x.y.z.tgz
),释放磁盘空间。IncompatibleSchema
错误)。/opt/kafka_old/bin/kafka-server-start.sh /etc/kafka/server.properties
)。zookeeper.connect
参数)。kafka-broker-api-versions.sh
验证)。inter.broker.protocol.version
的升级路径),确保协议版本逐步升级(如2.8→3.0→3.5),避免直接跨大版本导致协议不兼容。