在源 kafka 集群上禁用mirrormaker2偏移同步主题

Ale*_*uma 9 apache-kafka apache-kafka-connect apache-kafka-mirrormaker

我们使用MirrorMaker2将一些主题从一个 Kerberized kafka 集群复制到另一个 kafka 集群(严格单向)。我们不控制源 kafka 集群,我们只能访问描述和读取要使用的特定主题。

MirrorMaker2 在源集群中创建并维护一个主题 ( mm2-offset-syncs),以对要复制的每个主题分区的集群到集群偏移映射进行编码,并且还在AdminClient源集群中创建一个主题来处理 ACL/Config 传播。因为 MM2 需要授权才能在源集群中创建和写入这些主题,或者通过 执行操作AdminClient,所以我试图了解为什么/是否需要在我们的场景中使用这些机制。

我的问题是:

  1. 在严格单向的场景中,这个源集群偏移同步主题对 Mirrormaker 有什么用处?
  2. 如果确实是多余的,是否可以禁用它或操作 mm2 而无需访问创建/生成此主题?
  3. 如果禁用 ACL 和配置传播,是否可以安全地假设它们AdminClient不用于其他任何用途?

在 MirrorMaker 代码中,偏移同步主题很容易在启动时创建MirrorSourceConnector,然后由MirrorSourceTask. 同样的情况也发生MirrorSourceConnector.

我没有找到关闭这些功能的方法,但老实说,我可能遗漏了一些想法。

Gur*_*nov 5

Kafka 3.0 中引入了一个选项,使 MM2 不在源集群中创建 mm2-offset-syncs 主题并在目标集群中对其进行操作。

感谢 KIP-716:https://cwiki.apache.org/confluence/display/KAFKA/KIP-716%3A+Allow+configuring+the+location+of+the+offset-syncs+topic+with+MirrorMaker2

拉取请求:

Tim Berglund 在 Kafka 3.0 版本中注意到了这个 KIP-716:https://www.youtube.com/watch?v= 7SDwWFYnhGA&t=462s

因此,要使 MM2 在目标集群中的 mm2-offset-syncs 主题上运行,您应该:

  1. 设置选项 src->dst.offset-syncs.topic.location = target
  2. 在目标集群中手动创建 mm2-offset-syncs.dst.internal 主题
  3. 启动MM2

src 和 dst - 是别名的示例,请将其替换为您的别名。

请记住:如果未在目标集群中手动创建 mm2-offset-syncs.dst.internal 主题,则 MM2 仍会尝试在源集群中创建此主题。

在单向复制过程的情况下,这个主题是无用的,因为它一直是空的,但 MM2 无论如何都需要它。