温馨提示×

ubuntu kafka配置怎么升级

小樊
41
2026-10-14 09:50:09
栏目: 智能运维

在 Ubuntu 上升级 Kafka(通常指 Apache Kafka,不是 confluent 发行版),一般流程是保留配置和数据,替换二进制包。下面给你一套稳妥、可回滚的升级步骤。


一、升级前准备(非常重要)

1. 查看当前版本

kafka-server-start.sh --version
# 或
ls /opt/kafka  # 看你安装目录

2. 备份(必做)

# 配置
cp -r /opt/kafka/config ~/kafka_config_backup

# 数据(可选但建议)
cp -r /opt/kafka/logs ~/kafka_logs_backup

3. 查看兼容性(关键点)

Kafka 不能跨大版本乱升,规则是:

  • 0.10 → 0.11 ✅
  • 0.11 → 1.0 ✅
  • 1.x → 2.x ✅
  • 2.x → 3.x ✅
  • 2.x → 3.x 必须注意:Zookeeper / KRaft 模式

Kafka 3.x 起支持 KRaft(无 Zookeeper),但不要直接切模式


二、下载新版本 Kafka

去官网: https://kafka.apache.org/downloads

cd /opt
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 -r /opt/kafka/config/* /opt/kafka_2.13-3.6.1/config/

⚠️ 注意:

  • server.properties
  • producer.properties
  • consumer.properties

方式二:手动对比(更安全)

diff /opt/kafka/config/server.properties \
     /opt/kafka_2.13-3.6.1/config/server.properties

四、停掉旧 Kafka(别直接 kill -9)

# 如果你是 systemd
sudo systemctl stop kafka

# 如果是手动启动
jps
kill <kafka_pid>

✅ 等几秒,确认进程退出


五、切换软链接(推荐做法)

rm /opt/kafka
ln -s /opt/kafka_2.13-3.6.1 /opt/kafka

这样以后升级只换目录,不改 systemd。


六、更新 systemd(如有)

sudo vim /etc/systemd/system/kafka.service

确认:

ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
sudo systemctl daemon-reload
sudo systemctl start kafka

七、验证升级

/opt/kafka/bin/kafka-topics.sh --version
jps

看日志:

tail -f /opt/kafka/logs/server.log

八、滚动升级(集群必看)

如果是 多 broker 集群:

  1. 一台一台升级
  2. 每升一台:
    systemctl stop kafka
    替换目录
    systemctl start kafka
    
  3. 等副本同步完成再下一台

九、常见坑

❌ 直接覆盖 bin 目录
❌ 跨 2 个大版本升级
❌ 改了 log.dirs 导致数据丢失
❌ 没备份直接升级


十、如果你告诉我:

  • Kafka 版本(如 2.8 → 3.6)
  • 是否用 Zookeeper
  • 是否集群

我可以给你精确到命令的升级方案。

0 踩