8

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

MirrorMaker2mm2-offset-syncs在源集群中创建并维护一个主题(AdminClient因为 MM2 需要授权才能在源集群中创建和写入这些主题,或者通过 执行操作AdminClient,所以我试图理解为什么/如果我们在我们的场景中需要这些机制。

我的问题是:

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

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

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

4

1 回答 1

1

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 = 目标
  2. 在目标集群中手动创建 mm2-offset-syncs.dst.internal 主题
  3. 启动 MM2

src 和 dst - 是别名的例子,用你的替换它。

请记住:如果 mm2-offset-syncs.dst.internal 主题不是在目标集群中手动创建的,那么 MM2 仍会尝试在源集群中创建该主题。

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

于 2022-01-20T13:13:17.430 回答