Kafka4.0的Docker简单部署

Kafka4.0的Docker简单部署
Kafka 4.0 终于来了!
这次更新可不只是常规的版本优化,而是一次重大架构调整,尤其是不再支持 Java 8,彻底移除了 Zookeeper,正式启用 KRaft 模式,让 Kafka 变得更加独立、高效。
除了这个重磅更新外,Kafka 4.0 还砍掉了一些历史包袱,还带来几个重磅新功能,这次升级可谓是大刀阔斧,革新不断。
Zookeeper的移除
而这次 Kafka 4.0 正式移除 Zookeeper 的所有功能,KRaft 模式全面接管所有功能!
Kafka 4.0 不再支持使用 Zookeeper 模式启动集群,也就是说,从这个版本开始,你就得全面使用 KRaft 模式(Kafka Raft) 来运行 Kafka。
KRaft 带来的好处包括:
- 部署更简单,启动更快,成本更低 。
- 消除了单独维护 ZooKeeper 集合的复杂性。
- 只需保护一个组件,单一、更简单的安全模型。
- 降低了运营开销,增强了可扩展性并简化了管理任务。
- 从自身加载数据,性能比从用 ZK 高数 10 倍。
- 总之,移除 ZK,让 Kafka 更轻、更快、更强、更易维护!
移除旧协议 API 版本
Kafka 一直以来都死磕着兼容所有协议 API 版本,这么多年过去了,维护这么多旧版本的成本是越来越高,代码变复杂了,测试也麻烦了,关键是用老版本的人也越来越少,大部分都早换到了支持新协议的客户端。
所以,到了 Kafka 4.0,彻底移除了一些旧协议 API 版本,把协议 API 版本的基准提高到 Kafka 2.1。简单来说就是,仅保留 Kafka 2.1 支持的最新版本及之后推出的新版本。
这样一来,Kafka 4.0 既能摆脱一堆历史包袱,又不会影响太多用户,算是个折中方案。总之,该优化的优化,该淘汰的淘汰,让 Kafka 走得更远、更稳!
部署
综上,先版本的Kafka不再需要一并部署Zookeeper,所以,在部署Kafka的时候,只需要部署Kafka单容器即可。
按照官方文档,在Dockerfile如下内容:
1 |
|
镜像
官方提供了两种镜像:
- JVM Based Apache Kafka Docker Image(
基于JVM 的 Docker镜像
) - GraalVM Based Native Apache Kafka Docker Image(
基于GraalVM的 Docker镜像
)
在使用上并无差异,但GraalVM镜像的启动速度更快,且内存占用更少,性能更高。分别对应镜像名为:
apache/kafka:4.0.0
apache/kafka-native:4.0.0
启动
使用docker-compose up -d
启动容器
测试
1 | bin/kafka-topics.sh --create --topic quickstart --bootstrap-server youhost:9092 |
使用Kafka包内的 kafka-topics.sh
尝试创建一个名为 quickstart
的主题。
结束
测试通过,Kafka4.0.0安装成功。
- 标题: Kafka4.0的Docker简单部署
- 作者: Kaku
- 创建于 : 2025-05-14 14:53:13
- 更新于 : 2025-07-31 13:50:30
- 链接: https://www.kakunet.top/2025/05/14/Kafka4-0的Docker简单部署/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。