第 4 章 在 KRaft 模式下运行 Kafka (技术预览)


当您在 KRaft(Kafka Raft 元数据)模式下运行 AMQ Streams 时,Kafka 集群由控制器的内部仲裁而不是 ZooKeeper 进行管理。

Apache Kafka 正在进行 ZooKeeper 的需求。KRaft 模式现在可以尝试。您可以在没有 ZooKeeper 的情况下在 KRaft 模式中部署 Kafka 集群。

Important

KRaft 模式是实验性的,仅适用于 开发和测试,在生产环境中不得启用。

目前,AMQ Streams 中的 KRaft 模式有以下主要限制:

  • 不支持从带有 ZooKeeper 的 Kafka 集群移动到 KRaft 集群或其他方法。
  • 不支持升级和降级 Apache Kafka 版本。
  • 不支持 SCRAM-SHA-512 验证。
  • 不支持具有多个磁盘的 JBOD 存储。
  • 许多配置选项仍在开发中。

如果您在 KRaft 模式中使用 Kafka,则不需要将 ZooKeeper 用于集群协调或存储元数据。Kafka 使用充当控制器的代理来协调集群本身。Kafka 还存储用于跟踪代理和分区状态的元数据。

要识别集群,请创建一个 ID。在为添加到集群的代理创建日志时使用 ID。

在每个代理节点的配置中,指定以下内容:

  • 节点 ID
  • 代理角色
  • 作为控制器的代理(或 voters)列表

代理(broker)执行代理、控制器或两者的角色。

代理角色
代理(有时称为节点或服务器)可以编配存储并传递消息。
控制器角色
控制器协调集群并管理跟踪元数据。

您可以使用组合代理和控制器节点,但您可能希望分离这些功能。在更简单的部署中,执行组合角色的代理效率更高。

您可以使用每个控制器的节点 ID 和连接详情(主机名和端口)指定控制器列表,配置为 voters

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat