Ubuntu Kafka版本升級步驟
log.dirs
指定的日志目錄)和配置文件(如config/server.properties
、config/zookeeper.properties
),防止升級過程中數據丟失或配置錯誤。sudo bin/kafka-server-stop.sh config/server.properties
sudo bin/zookeeper-server-stop.sh config/zookeeper.properties
若舊版本是通過apt
安裝的,可使用以下命令徹底卸載(避免殘留文件沖突):
sudo apt-get remove --purge kafka
若為手動安裝(如解壓tar.gz包),直接刪除舊版本目錄即可:
sudo rm -rf /usr/local/kafka # 替換為舊版本實際安裝路徑
訪問Apache Kafka官方下載頁面(https://downloads.apache.org/kafka/),選擇目標版本(如3.5.2),下載對應tar.gz包(如kafka_2.12-3.5.2.tgz
),然后解壓到指定目錄(如/opt
):
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
tar -xzvf kafka_2.12-3.5.2.tgz
cd kafka_2.12-3.5.2
進入新版本Kafka目錄,復制并修改配置文件(以server.properties
為例):
cp config/server.properties config/server.properties.old # 備份舊配置
nano config/server.properties
重點檢查以下配置項,確保適配新版本要求:
broker.id
:集群中唯一標識,無需修改除非新增節點;listeners
:Broker監聽地址(如PLAINTEXT://your_server_ip:9092
);advertised.listeners
:客戶端連接的Broker地址(若集群跨網絡,需設置為公網IP或域名);zookeeper.connect
:ZooKeeper集群地址(如localhost:2181
或zk1:2181,zk2:2181,zk3:2181
);log.dirs
:日志存儲目錄(確保目錄存在且有寫入權限)。啟動ZooKeeper(若使用獨立ZooKeeper集群,需先啟動集群)和新版本Kafka:
# 啟動ZooKeeper(自帶ZooKeeper)
bin/zookeeper-server-start.sh config/zookeeper.properties &
# 啟動Kafka
bin/kafka-server-start.sh config/server.properties &
使用ps -ef | grep kafka
和ps -ef | grep zookeeper
命令確認服務進程是否正常運行。
bin/kafka-topics.sh --version
輸出應包含新版本號(如3.5.2
)。# 創建Topic(replication-factor根據集群節點數調整,單節點設為1)
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test_upgrade
# 發送測試消息
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test_upgrade
# 消費測試消息(新版本推薦使用--bootstrap-server替代--zookeeper)
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_upgrade --from-beginning
若升級成功且運行穩定,可清理舊版本的安裝目錄和備份配置文件(如config/server.properties.old
),釋放磁盤空間。
kafka-mirror-maker
或kafka-consumer-groups
等工具遷移數據。