第 5 章 在 KRaft 模式下运行 Kafka (开发预览)
当您在 KRaft(Kafka Raft 元数据)模式下运行 AMQ Streams 时,Kafka 集群由控制器的内部仲裁而不是 ZooKeeper 进行管理。
Apache Kafka 处于对 ZooKeeper 的需求。KRaft 模式现在可用于尝试。您可以在没有 ZooKeeper 的情况下以 KRaft 模式部署 Kafka 集群。
Important
KRaft 模式是实验性的,仅适用于 开发和测试,且不得在生产环境中启用。
目前,AMQ Streams 中的 KRaft 模式有以下主要限制:
- 对于生产环境,不建议使用 ZooKeeper 从 Kafka 集群迁移到 KRaft 集群。
- 不支持从 KRaft 模式降级到使用 ZooKeeper。
- 不支持带有多个磁盘的 JBOD 存储。
- 许多配置选项仍在开发中。
5.1. 在 KRaft 模式中使用带有 Kafka 的 AMQ Streams 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
如果您在 KRaft 模式中使用 Kafka,则不需要使用 ZooKeeper 进行集群协调或存储元数据。Kafka 使用作为控制器的代理协调集群本身。Kafka 还存储用于跟踪代理和分区状态的元数据。
要识别集群,请创建一个 ID。在为集群添加的代理创建日志时使用 ID。
在每个代理节点的配置中,指定以下内容:
- 节点 ID
- 代理角色
-
作为控制器的代理列表
(或票数)
代理执行代理、控制器或两者的角色。
- 代理角色
- 代理( broker)有时被称为节点或服务器,编配存储并传递信息。
- 控制器角色
- 控制器协调集群并管理跟踪元数据。
您可以使用组合代理和控制器节点,但您可能希望分隔这些功能。在简单的部署中,执行组合角色的代理更高效。
您可以使用每个控制器的节点 ID 和连接详情(主机名和端口)指定控制器列表,配置为 voters。