如何为在 kubernetes 集群上运行的 Kafka Connect 配置 MongoDB 官方源连接器

Posted

技术标签:

【中文标题】如何为在 kubernetes 集群上运行的 Kafka Connect 配置 MongoDB 官方源连接器【英文标题】:How to configure MongoDB official source connector for Kafka Connect running on a kubernetes cluster 【发布时间】:2021-01-10 22:48:23 【问题描述】:

我的 Kafka 集群在 kubernetes 上运行,我正在使用自定义映像运行 Kafka Connect 以及所需的 mongoDB 官方源和接收器连接器。

我的 mongoDB 实例也在 kubernetes 上运行。我的问题是,我无法将我的实时数据库与 Kafka Connect 连接起来。

我的连接器配置目前如下所示,

curl -X PUT \
     -H "Content-Type: application/json" \
     --data '
               "connector.class":"com.mongodb.kafka.connect.MongoSourceConnector",
                    "tasks.max": "1",
                    "connection.uri": "mongodb://192.168.190.132:27017,192.168.190.137:27017",
                    "database": "tractor",
                    "collection": "job",
                    "topic.prefix": "testing-mongo"
                    
          ' \
     http://10.108.202.171:8083/connectors/mongo_source_job/config

【问题讨论】:

你能用来自 kafka 连接器日志的 sn-p 编辑你的帖子吗?它试图连接到 mongo? 【参考方案1】:

感谢您的回复。问题是源于 TLS。我修改了我的配置如下,

"connection.uri": "mongodb://192.168.190.132:27017,192.168.190.137:27017/?tlsInsecure=true"

它现在可以工作了!

【讨论】:

【参考方案2】:

您可以尝试使用服务名称连接到 MongoDB 服务吗?

kubectl get service -n <namespace>

使用上述方法获取 MongoDB 命名空间中的服务,并使用服务名称而不是您拥有的 Ip,看看是否有效?

【讨论】:

以上是关于如何为在 kubernetes 集群上运行的 Kafka Connect 配置 MongoDB 官方源连接器的主要内容,如果未能解决你的问题,请参考以下文章

如何为 kops 在 AWS 上安装的 k8s 做集群自动扩缩器?

如何为 Kubernetes 创建本地开发环境?

如何为私有 GKE 集群启用 Gitlab CI/CD?

如何为 Kubernetes 作业设置时间限制?

如何为事件驱动的微服务实现“去抖动”?

如何为 ipython 集群(ipcluster)设置 ssh 隧道