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
等工具迁移数据。