一、升級前準備
server.properties
、zookeeper.properties
)、數據目錄(log.dirs
指定路徑)、日志文件及自定義Topic配置,防止升級過程中數據丟失。kafka_2.13-3.6.0.tgz
),建議選擇穩定 release 版本。二、具體升級步驟
sudo systemctl stop kafka
/opt/zk/zookeeper-3.5.9/bin/zkServer.sh stop # 根據實際Zookeeper路徑調整
/opt/kafka_new
):tar -xzf kafka_2.13-3.6.0.tgz -C /opt/
mv /opt/kafka_2.13-3.6.0 /opt/kafka_new # 重命名便于管理
config
目錄復制到新版本中,更新與新版本不兼容的配置項:cp -r /opt/kafka_old/config/* /opt/kafka_new/config/ # kafka_old為舊版本目錄
broker.id
:確保每個Broker ID唯一;listeners
/advertised.listeners
:更新Broker監聽地址和對外暴露地址(若集群網絡發生變化);log.message.format.version
/inter.broker.protocol.version
:若跨大版本升級,需根據官方文檔設置兼容的協議版本(如從2.8升級到3.6,可能需要逐步調整)。/opt/kafka_new/bin/zookeeper-server-start.sh /opt/kafka_new/config/zookeeper.properties &
/opt/kafka_new/bin/kafka-server-start.sh /opt/kafka_new/config/server.properties &
kafka-broker-api-versions.sh
工具驗證節點是否成功加入集群(返回“Supported versions”列表說明成功)。/opt/kafka_new/bin/kafka-topics.sh --version # 應顯示新版本號
# 創建Topic
/opt/kafka_new/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test_upgrade
# 生產消息
/opt/kafka_new/bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test_upgrade
# 消費消息
/opt/kafka_new/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_upgrade --from-beginning
三、升級后注意事項
kafka-topics.sh --describe
等工具排查異常。/opt/kafka_old
),釋放磁盤空間。/opt/kafka_old/bin/kafka-server-start.sh
);