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