温馨提示×

ubuntu kafka配置怎样升版本

小樊
41
2026-10-17 06:06:28
栏目: 智能运维

在 Ubuntu 上升级 Kafka 版本,核心思路是:保留数据(可选)→ 停止旧服务 → 替换二进制包 → 调整配置 → 启动新版本。下面按生产可用、最稳妥的方式说明。


一、升级前准备

1. 查看当前版本

kafka-server-start.sh --version
# 或
ls /opt/kafka/libs | grep kafka_

2. 备份(非常重要)

# 配置
cp -r /opt/kafka/config /opt/kafka/config.bak

# 数据(如果保留)
cp -r /var/lib/kafka /var/lib/kafka.bak

如果你是用 systemd 管理 Kafka,先停止:

sudo systemctl stop kafka

二、升级方式选择

✅ 方式一:直接替换二进制(最常用)

适合 小版本升级(如 3.4 → 3.7)

⚠️ 方式二:跨大版本(如 2.x → 3.x)

需要:

  • 检查 server.properties 变化
  • ZooKeeper / KRaft 模式是否改变
  • 协议版本(inter.broker.protocol.version)

三、下载并替换 Kafka

1. 下载新版本

cd /opt
sudo wget https://downloads.apache.org/kafka/3.7.1/kafka_2.13-3.7.1.tgz
sudo tar -xzf kafka_2.13-3.7.1.tgz

2. 替换目录(推荐软链接方式)

sudo mv kafka kafka-old
sudo mv kafka_2.13-3.7.1 kafka

或:

sudo ln -sfn /opt/kafka_2.13-3.7.1 /opt/kafka

四、配置兼容处理

1. 复制旧配置

cp /opt/kafka-old/config/server.properties /opt/kafka/config/
cp /opt/kafka-old/config/zookeeper.properties /opt/kafka/config/  # 如果用 zk

2. 检查关键配置

# server.properties
log.dirs=/var/lib/kafka/logs
zookeeper.connect=localhost:2181

# 大版本升级时加(升级完成后可删)
inter.broker.protocol.version=3.4

五、启动 Kafka

sudo systemctl start kafka

查看日志:

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

六、升级后验证

# 查看版本
kafka-topics.sh --version

# 查看 topic
kafka-topics.sh --list --bootstrap-server localhost:9092

# 生产消费测试
kafka-console-producer.sh --topic test --bootstrap-server localhost:9092
kafka-console-consumer.sh --topic test --from-beginning --bootstrap-server localhost:9092

七、滚动升级(多 broker 集群)

如果是集群:

  1. 一台一台升
  2. 每台:
    • 停 broker
    • 替换包
    • 启动
  3. 全部完成后,再提升协议版本

八、KRaft 模式注意(Kafka 3.x+)

如果你从 ZooKeeper 迁移 KRaft:

  • 不能“直接升级”
  • 需要:
    • 新装 KRaft 集群
    • 数据迁移 / MirrorMaker

九、常见问题

1. 启动报错 class not found

→ 配置文件路径不对,或 JDK 版本不匹配(Kafka 3.x 需 JDK 11+)

2. 数据不见

→ log.dirs 配错

3. 端口被占用

sudo lsof -i:9092

如果你能告诉我:

  • 当前 Kafka 版本
  • 是否集群
  • 是否使用 ZooKeeper / KRaft
  • 是否 systemd 管理

我可以给你精确升级命令。

0 踩