告别ZooKeeper!Kafka 4.0全面解析:KRaft模式+队列功能+部署指南
Apache Kafka 4.0版本于2025年3月18日正式发布,这是Kafka首次完全无需依赖Apache ZooKeeper运行的版本。Kafka 4.0引入了多项重要功能和改进,包括:
- KRaft模式:这是Kafka内置的共识机制,取代了传统的ZooKeeper,简化了部署和管理流程,降低了运营开销,并增强了可扩展性。
- KIP-848(新一代消费者重平衡协议):提高了消费者组的可靠性和响应性,减少了停机时间和延迟。
- KIP-932(Queues for Kafka):使Kafka能够直接支持传统队列语义,扩展了其作为消息平台的适用范围。
- 移除对Java 8和Scala 2.12的支持:Kafka 4.0完全弃用了对Java 8和Scala 2.12的支持,以适应更现代的开发环境。
部署
1.环境准备:
- 确保操作系统符合要求(如Linux系统)。
- 安装Java环境(推荐JDK 17或更高版本),因为Kafka 4.0不再支持Java 8。
- 如果使用Docker,可以选择bitnami的Kafka镜像。
2.下载与安装:
- 从Apache Kafka官网下载最新版本的Kafka安装包(如kafka_2.13-4.0.0.tgz)。
- 解压安装包并进入解压后的目录。
3.配置文件修改:
- 编辑server.properties文件,设置相关参数,如broker.id 、log.dirs、zookeeper.connect等。
- 如果使用KRaft模式,需要配置KRaft相关的参数,如kafka.server.kraft.mode和kafka.server.kraft.zookeeper.connect。
4.启动服务:
- 在终端中运行bin/kafka-server-start.sh config/server.properties启动Kafka服务。
- 如果是KRaft模式,还需要启动KRaft控制器和代理服务。
5.验证部署:
- 使用生产者和消费者测试消息的发送与接收。
- 检查集群状态,确保所有节点正常运行。
6.集群扩展:
- 如果需要部署多节点集群,可以参考KRaft模式下的集群管理方式,通过在线扩展方式增加broker节点。