Kafka Connect 与 Amazon MSK

Posted

技术标签:

【中文标题】Kafka Connect 与 Amazon MSK【英文标题】:Kafka Connect with Amazon MSK 【发布时间】:2020-03-30 08:43:36 【问题描述】:

如何将 Kafka Connect 适配器与 Amazon MSK 结合使用? 根据 AWS 文档,它支持 Kafka 连接,但没有记录如何设置和使用适配器。

【问题讨论】:

【参考方案1】:

2021 年 10 月编辑:MSK Connect 已启动,请参阅 https://aws.amazon.com/blogs/aws/introducing-amazon-msk-connect-stream-data-to-and-from-your-apache-kafka-clusters-using-managed-connectors/


AFAIK Amazon MSK 不提供托管连接器,因此您必须自己运行它们。这是通过运行 Kafka Connect 工作进程(JVM)然后为其提供一个或多个连接器配置来运行的。

从 Kafka Connect 工作者的角度来看,它只需要一个 Kafka 集群来连接;无论是 MSK 还是内部部署都无关紧要,因为它最终“只是”下面的消费者/生产者。

您可以在此处查看更多信息,包括现场演示:https://rmoff.dev/bbuzz19-kafka-connect

有关配置 Kafka Connect 以使用云托管的 Kafka 平台(在本例中为 Confluent Cloud)的示例,请参阅this article。


如果您对云中的托管连接器感兴趣,请联系 Confluent Cloud 中提供的check out the connectors。

免责声明:我为 Confluent 工作:)

【讨论】:

我正在尝试从 MSK 连接到 VPC 中的 MongoDB 地图集,并引发超时错误。你知道如何让它发挥作用吗?【参考方案2】:

AWS 现在支持 MSK Connect,这是基于 Kafka Connect 的 MSK 服务的一项新功能,允许您部署为 Kafka connect 构建的托管 Kafka 连接器

在此处查看公告:https://aws.amazon.com/blogs/aws/introducing-amazon-msk-connect-stream-data-to-and-from-your-apache-kafka-clusters-using-managed-connectors/

【讨论】:

我正在尝试从 MSK 连接到 VPC 中的 MongoDB 地图集,并引发超时错误。你知道如何让它发挥作用吗? 请分享有关您的架构的更多信息。您在哪里 MSK 居住?私有子网?公共子网?如果它是私有的 - 它有 NAT 网关吗?您的 MongoDB 向世界公开了吗?您的 VPC 和 MongoDB atlas 的 VPC 之间是否有 VPC 对等互连?你的安全组配置怎么样? ACL? 我在 VPC 中使用 MSK(mongodb 有 vpc 与此 VPC 对等),私有子网有 natgateways。我的后端服务器使用相同的 VPC 和子网连接到 mongodb。我在这篇文章中提供了更多详细信息-***.com/questions/69849744/… 当我通过将 0.0.0.0 IP 列入白名单向世界开放 MongoDB 时,MSK 连接器正在连接到数据库,并且 MSK 正在获取数据。但是,当我删除该 IP 白名单时,它就不起作用了。 我尝试了所有我能想到的方法,但它仍然返回错误(异常打开套接字)。我认为这是 MSK 连接的问题,因为它刚刚在 2021 年 9 月发布。我计划在 EC2 中运行 MongoDB Kafka 连接器并尝试 您确定您的流量是通过内部网络(使用 VPC Perring)而不是外部世界吗?这也许可以解释这样一个事实,即在更改白名单后您会获得流量。检查您在 VPC 对等互连中的 DNS 配置并验证 MongoDB DNS 是否指向私有 IP 地址【参考方案3】:

这有两个方面

    Kafka Connect 是一个框架,应该与 kafka 代理分开部署。 MSK 仅提供 kafka 经纪人。如果您想将 Kafka Connect 与 MSK 一起使用,您需要使用 EC2 实例并部署 kafka 二进制文件。Kafka Connect 框架与 kafka 捆绑在一起

    如果您没有 confluent 订阅或类似订阅,请使用连接器 - 恐怕您的选择会非常有限。但是话虽如此,您始终可以编写自己的连接器。编写新的连接器并没有那么难,您可以应用您的业务特定逻辑并快速上路。

【讨论】:

以上是关于Kafka Connect 与 Amazon MSK的主要内容,如果未能解决你的问题,请参考以下文章

Amazon Kinesis 与 AWS Manage Service Kafka (MSK) -(从本地连接)

Kafka Connect 与 Spring 框架

无法运行JDBC sink将数据从Kafka移动到MS SQL Server

将 kafka-connect-transform-archive 与 HdfsSinkConnector 一起使用时的刷新大小

Debezium 消息与 kafka-connect sink 连接器期望的格式兼容

Kafka Connect JDBC 与 Debezium CDC