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

如何在Kafka中设置Debezium SQL Server连接器,而不使用Docker或Windows Server2016上的汇流平台?

时经纬
2023-03-14

我试图在独立模式下使用Kafka捕获SQL Server数据库中的一些更改。在此任务中,汇流平台和Docker不是选项。

源数据库上的CDC已启用。在Kafka方面,我对Debezium Connector有意见。我会描述更多的细节:

---zookeeper.properties:

dataDir=C:/kafka_2.13-2.7.0/data

clientPort=2181

maxClientCnxns=0

admin.enableServer=false
broker.id=0

listeners=PLAINTEXT://localhost:9092

num.network.threads=3

num.io.threads=8

socket.send.buffer.bytes=102400

socket.receive.buffer.bytes=102400

socket.request.max.bytes=104857600

log.dirs=C:/kafka_2.13-2.7.0/kafka-logs

num.partitions=1

num.recovery.threads.per.data.dir=1

offsets.topic.replication.factor=1

transaction.state.log.replication.factor=1

transaction.state.log.min.isr=1

log.retention.hours=168

log.segment.bytes=1073741824

log.retention.check.interval.ms=30000

zookeeper.connect=localhost:2181

zookeeper.connection.timeout.ms=18000

group.initial.rebalance.delay.ms=0

auto.create.topics.enable=true

delete.topic.enable=true

----SQLServer-Source-Connector。属性:

name=sqlserver-connector

connector.class=io.debezium.connector.sqlserver.SqlServerConnector 

database.hostname=myhostname 

database.port=1433 

database.user=sa 

database.password=mySuperSecretPassord

database.dbname=myDbName 

database.server.name=myhostname

table.include.list=dbo.employes 

database.history.kafka.bootstrap.servers=myhostname:9092 

database.history.kafka.topic=dbhistory.fullfillment

key.converter=org.apache.kafka.connect.json.JsonConverter

value.converter=org.apache.kafka.connect.json.JsonConverter

offset.storage.file.filename=C:/kafka_2.13-2.7.0/connect.offsets

bootstrap.servers=localhost:9092

----file-employes-sink.properties:

name=file-employes-sink

connector.class=FileStreamSink

tasks.max=1

file=file-employes-sink.txt

topics=myhostname.dbo.EMPLOYES

当我想跑的时候

.\connect-standalone.bat ..\..\config\sqlserver-source-connector.properties ..\..\config\file-employes-sink.properties

并检查可以通过链接http://localhost:8083/connectors创建的连接器,以下是我得到的信息:

[“文件-雇员-接收器”]

这意味着我只能创建我的接收器连接器,对吗?我的源连接器呢?不是应该列在这里吗?

共有1个答案

壤驷宏才
2023-03-14

您需要提供connect-standalone.properties作为connect-standalone的第一个参数来配置工作人员

然后提供两个连接器属性文件以启动两个连接器

您还可以使用connect-distributed及其属性文件,然后HTTP发布两个连接器配置

 类似资料:
  • 我有一个kafka主题,有200万条消息,我的刷新大小是100000,默认分区为分布式模式,有4个工作者,我可以看到数据在几秒钟内立即写入HDFS(10到15秒)。 我看到创建了一个+tmp目录和文件夹,并且每次触发一个新连接器时都会创建主题。 kafka connect的行为是每次都写得这么快,还是已经将数据存储在HDFS中,并根据连接器属性将其移动到主题目录? 我需要清楚这是怎么发生的。如果我

  • 我刚接触Kafka,我不知道如何使用“transforms.router.type”使其与我的Debezium设置一起工作。因此,我对java类进行了特殊的事件转换,并预先进行了配置,以便将其部署到容器中,如下所示: curl-X POST-H“Accept:application/json”-H“Content Type:application/json”localhost:8083/conne

  • 我正在使用wurstmeister的docker-kafka项目在容器中运行kafka/zoomaster。我使用docker-comup将容器localhost作为变量。 我已经编写了一个Java应用程序,它使用flink连接并使用这个Kafka容器的一个主题。如果我导出一个可运行的罐子,并从我的机器上运行它,它绝对可以正常工作。当我创建下面的图像以从另一个docker容器运行jar时,我在线程

  • 我正在浏览Kafka连接,我试图得到一些概念。 假设我有kafka集群(节点k1、k2和k3)设置并且正在运行,现在我想在不同的节点上运行kafka连接工作器,比如分布式模式下的c1和c2。 很少有问题。 1) 要在分布式模式下运行或启动kafka connect,我需要使用命令,这在kaffa集群节点中可用,所以我需要从任何一个kafka集群节点启动kafka连接?或者我启动kafka conn

  • 我有两个Kafka主题-和。第一个主题包含由唯一Id(称为)键入的recommendations对象。每个产品都有一个用户可以单击的URL。 主题获取通过单击推荐给用户的产品URL生成的消息。它是如此设置的,这些单击消息也由键控。 请注意 > 每个单击对象都会有一个相应的推荐对象。 click对象的时间戳将晚于Recommensions对象。 建议和相应的点击之间的间隔可能是几秒钟到几天(最多7天