当前位置: 首页 > 知识库问答 >
问题:

Kafka-MongoDB Debezium连接器:分布式模式

易镜
2023-03-14

我正在开发debezium mongodb源连接器。我可以通过提供kafka引导服务器地址作为远程机器(部署在Kubernetes中)和远程MongoDB URL在分布式模式下在本地机器中运行连接器吗?

我尝试了这一点,我看到连接器成功启动,没有错误,只有几个警告,但没有数据从MongoDB流动。

使用以下命令运行连接器

./bin/connect-distributed ./etc/schema-registry/connect-avro-distributed.properties ./etc/kafka/connect-mongodb-source.properties

遵循以下教程:https://medium.com/tech-that-works/cloud-kafka-connector-for-mongodb-source-8B525B779772

下面是关于问题连接器工作良好的更多细节,我在连接器日志的末尾看到下面的行

 INFO [Worker clientId=connect-1, groupId=connect-cluster] Starting connectors and tasks using config offset -1 (org.apache.kafka.connect.runtime.distributed.DistributedHerder:1000)
] INFO [Worker clientId=connect-1, groupId=connect-cluster] Finished starting connectors and tasks (org.apache.kafka.connect.runtime.distributed.DistributedHerder:1021)

我还在/etc/kafka/connect-mongodb-source.properties中定义了MongoDB配置,如下所示

name=mongodb-source-connector 
connector.class=io.debezium.connector.mongodb.MongoDbConnector 
mongodb.hosts=/remoteserveraddress:27017 
mongodb.name=mongo_conn 
initial.sync.max.threads=1 
tasks.max=1

任何指针都是合适的

共有1个答案

松俊才
2023-03-14

connect-distributed只接受单个属性文件。

您必须使用REST API以分布式模式配置Kafka连接。

https://docs.confluent.io/current/connect/references/restapi.html

consumer.auto.offset.reset=earliest
 类似资料:
  • 我们已经成功地使用了MySQL - 使用jdbc独立连接器的kafka数据摄取,但现在在分布式模式下使用相同的连接器(作为kafka connect服务)时面临问题。 用于独立连接器的命令,工作正常 - 现在,我们已经停止了这一项,并以分布式模式启动了kafka connect服务,如下所示 2 个节点当前正在运行具有相同连接服务。 连接服务已启动并正在运行,但它不会加载 下定义的连接器。 应该对

  • 分布式模式下Kafka Connect集群的偏移管理行为是什么,即运行多个连接器并监听同一组主题(或一个主题)? 因此,在分布式模式下,Kafka Connect 会将偏移量信息存储在 Kafka 中,此偏移量将由集群中的工作线程读取和提交。如果我在该 Kafka Connect 集群中运行多个连接器侦听同一主题,会发生什么情况?分区的偏移量是否与所有连接器相同,或者每个连接器在分区上的偏移量是否

  • 我们有制作人将以下内容发送给Kafka: 主题=系统日志,每天 ~25,000 个事件 topic=nginx,每天 ~5,000 个事件 topic=zeek.xxx.log,每天~100,000个事件(总计)。在最后一种情况下,有 20 个不同的 zeek 主题,例如 zeek.conn.log 和 zeek.http.log 实例充当消费者,将数据从kafka发送到elasticsearch

  • 我按问题推出了合流套件”。/bin/合流启动”命令。然后我用kafka connect把kafka的数据汇到mysql。 我可以通过执行以下命令在独立模式下很好地运行 kafka 连接: ./bin/connect-standalone ./etc/schema-registry/connect-avro-standalone.properties ./etc/kafka-connect-jdbc

  • 我在分布式模式下运行Kafka连接,有两个不同的连接器,每个连接器都有一个任务。每个连接器都在不同的实例中运行,这正是我想要的。 Kafka connect集群是否总是确保相同的行为来适当地分担负载?

  • 我用table.whitelist中的一个表启动了MySQL Debezium Kafka连接器(版本: 0.9.2。最终),它工作正常。当在白名单中添加另一个表并重新启动连接器时,我得到了下面的错误。 请查找我使用的以下配置。我希望通过这个设置(“database.history.store.only.monitored.tables.ddl”:“false”),它应该可以工作。 我怎么解决这个