问题标签 [apache-kafka-mirrormaker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
45 浏览

apache-kafka - MirrorMaker2 不会镜像压缩主题中的所有消息?

在一些镜像主题中,我在镜像接收器主题中缺少数据!

源 Kafka 集群默认配置为log.rentention.ms=-1log.cleanup.policy=compact

使用模式:插入记录,并且 key 也被清空(因此 Kafka 以某种方式像数据库一样使用)

MM2 配置:

  • sourceCluster 配置:(receive.buffer.bytes:8192;max.poll.records:10000)
  • sinkCluster 配置:(batch.size:8192;offset.flush.timeout.ms:1200000;connection.max.idle.ms:18000000)

以下指标适用于旧的和新的接收器主题:

  • Topic X: not null msg count: 63k new: 16k (我也检查了head和tail有相同的creationTime)
  • 主题 Y:未清空消息计数:30k 新 18k;与头/尾相同的故事
  • 主题 Z:未清空消息计数:136 新 136;相同的消息计数

我的假设是,当 MM2 正在消耗一个批次时,当这批相同的密钥被清空时,第一个 msg 没有被镜像。这个对吗 ?如果这是正确的假设,那么如何反映事件源主题,如果您想以与源主题相同的方式重新创建状态?

为什么镜像接收器主题中缺少消息?如何镜像来自源主题的所有消息?

0 投票
1 回答
71 浏览

kubernetes - 如何将自定义 jar 文件添加/复制到 KafkaMirrorMaker?

我正在开发一些自定义主题名称映射,并从中生成了一个 jar 文件。

由于我使用的是 MirrorMaker v1,因此这些变量也已添加KAFKA_MIRRORMAKER_MESSAGE_HANDLERKAFKA_MIRRORMAKER_MESSAGE_HANDLER_ARGSKafkaMirrorMaker yaml 文件中。

但我不知道如何将此自定义 jar 文件物理添加到 KafkaMirrorMaker pod 中。我已经检查了 KafkaMirrorMaker 的 CRD,但还没有找到任何线索。

那么,有没有办法让 KafkaMirrorMaker 下载一些文件/工件并将 jar 文件包含到类路径中,以便自定义 MessageHandler 可以找到它?

helm install 命令用于部署 Mirror Maker。我目前使用的 KafkaMirrorMaker 的 apiVersion:kafka.strimzi.io/v1beta2

0 投票
0 回答
14 浏览

apache-kafka - MirrorMaker2 无法复制添加到现有主题的新分区

我配置了 MirrorMaker2 并能够将主题和偏移量复制到目标集群中。

但是,我向源集群中的主题添加了新分区,并且新分区没有被复制到目标集群。

不确定新分区是由 MirrorMaker2 处理还是不支持该功能。

0 投票
1 回答
51 浏览

apache-kafka - 为什么 Kafka Mirrormaker 目标主题包含一半的原始消息?

我想从 Kafka 集群中的某个主题复制所有消息。所以我运行了 Kafka Mirrormaker,但它似乎只复制了源集群中大约一半的消息(我检查了源主题中没有消费者滞后)。我在源集群中有 2 个代理,这与此有关吗?

这是源集群配置:

源主题有 4 个分区并且未压缩。Mirrormaker 配置是:

  • mirrormaker-consumer.properties
  • mirrormaker-producer.properties

以下是Kafdrop关于源集群主题的统计信息:

分割 第一次偏移 最后偏移量 尺寸 领导节点 副本节点 同步副本节点 离线副本节点 首选领导者 复制不足
0 13659 17768 4109 1 1 1 是的
1 13518 17713 4195 2 2 2 是的
2 13664 17913 4249 1 1 1 是的
3 13911 18072 4161 2 2 2 是的

这些是 Mirrormaker 运行后目标主题的统计信息:

分割 第一次偏移 最后偏移量 尺寸 领导节点 副本节点 同步副本节点 离线副本节点 首选领导者 复制不足
0 2132 4121 1989 1 1 1 是的
1 2307 4217 1910 1 1 1 是的
2 2379 4294 1915年 1 1 1 是的
3 2218 4083 1865年 1 1 1 是的

如您所见,根据大小列,大约只有一半的源消息位于目标主题中。我究竟做错了什么?

0 投票
1 回答
70 浏览

apache-kafka - Mirror Maker2 无法连接到目标集群代理

我在 AWS MSK 上有两个 Kafka 集群(在相同的环境和区域中)。我在目标集群上设置了一个 KafkaConnect 集群,并设置了一个镜像制造商连接器来运行。连接器的提交很好,没有错误。

当我尝试检查连接器的状态时,它说,正在运行: {"name":"mirror-maker-test-connector","connector":{"state":"RUNNING","worker_id":"<ip>:<port>"},"tasks":[task_list],"type":"source"}

我看到以下异常:

我能够netcat从 Kafka Connect k8s pod 中连接到指定的代理。

以前有人遇到过这个问题吗?

0 投票
0 回答
13 浏览

apache-kafka - Kafka mirrormaker 2 jaas 配置示例

我目前正在探索 MM2 实现,并且在受身份验证保护的两个集群之间设置集群复制时遇到了真正的麻烦。

我无法找到 mm2 身份验证配置的任何文档或示例,最后我尝试在类似于以下内容的 conf 中映射常用的 jaas 属性:

不幸的是,这并没有奏效。

因此,如果您有关于与 security/jaas 属性相关的文档的指针或用于身份验证访问的 mm2 conf 的工作示例,我将不胜感激。

先感谢您

0 投票
1 回答
17 浏览

apache-kafka - 如何使用 mirrormaker 反序列化 avro 消息?

我想将 kafka 主题复制到 azure 事件中心。消息采用 avro 格式,并使用位于带有 USER_INFO 身份验证的模式注册表后面的模式。

使用 java 客户端连接到 kafka,我可以使用 KafkaAvroDeserializer 正确反序列化消息。

但是这种配置似乎不适用于mirrormaker。

是否可以在发送之前使用 mirrormaker 反序列化 avro 消息?

干杯

0 投票
1 回答
25 浏览

apache-kafka - MirrorMaker 2.0 的消息转换

我正在运行一个专用的 MirrorMaker 集群,并希望对记录执行我的 SMT 转换。你能建议我应该把我的代码放在哪里,即我应该在哪里定义plugin.path属性?

0 投票
1 回答
25 浏览

apache-kafka - 镜像制造者 2 中的主题爆炸

mirrormaker 2 是否需要 6 个系统主题(在线路的两侧)才能复制每个主题?我担心这可能会导致话题爆炸。我们需要在 kafka 集群之间进行双向同步

0 投票
0 回答
18 浏览

apache-kafka - MirrorMaker2 与 Kafka 2.0.0 的兼容性

试图了解作为核心 kafka 版本 2.4 的一部分打包的 MM2 库与运行 Kafka 核心版本 2.0.0 的 Kafka Cluster 的兼容性。

作为KIP-382的一部分,MM2 的主要改进已通过此PR合并。在这个 PR 中,我没有看到对核心 kafka 进行任何更改。这些更改仅在 Kafka-connect 和 mirrormaker 相关代码中可见。

据我所知,Kafka Connect 是 kafka 的客户端应用程序(类似于任何标准的消费者和生产者应用程序)。MM2 建立在 Kafka Connect 架构之上。

尽管 MirrorMaker2 相关库与核心 kafka 库(即 2.4 Kafka 版本作为发布周期和软件包的一部分)捆绑在一起,但我认为 MM2 对同一版本的 Kafka Broker 没有绝对依赖(即使用 kafka 2.4 构建的版本)。 )。

MM2 组件的原因是客户端组件。

假设我们可以使用 kafka core 2.4 发布包设置 MM2 以与使用 Kafka 2.0.0 设置的 Kafka Broker 一起工作,这是有效的吗?

对此的任何回应、评论或任何材料都将受到高度赞赏。谢谢你。