关于debezium。kafka和sqlserver的数据同步

直接在官网下载sql server的插件。

Debezium Release Series 2.5

 下载完后将这个插件解压到linux里面。

路径其实是无所谓的,我在kafka目录下,创建了一个connect目录,专门放置这些插件

 然后去kafka的config目录下,修改connect-distributed.properties文件

主要修改这几个点:
kafka集群路径

 

刚才存放sqlserver插件的路径

 然后就可以去kafka的bin目录下,启动connect-distributed.sh

bin/connect-distributed.sh config/connect-distributed.properties

如果想要后台运行

bin/connect-distributed.sh -daemon config/connect-distributed.properties

然后我们就可以通过  http请求,对插件进行操作。下面我在postman软件中进行操作

hadoop102:8083/connector-plugins

 ip地址设置为自己的ip。

如果可以看见这个“io.debezium....”。就证明插入成功了。

hadoop102:8083/connectors

get请求可以获得目前设置的链接有哪些。我们通过这个链接来设计sqlserver到kafka的数据传输。

 如果使用post请求,则是增加connect

 

{
    "name": "AIS",
    "config": {
        "connector.class" : "io.debezium.connector.sqlserver.SqlServerConnector",
        "tasks.max" : "1",
        "topic.prefix" : "AIS",
        "database.hostname" : "192.168.180.144",
        "database.port" : "1433",
        "database.user" : "sa",
        "database.password" : "000000",
        "database.names" : "AIS202303",
        "table.include.list":"dbo.Tooo,dbo.T_jjj",
        "schema.history.internal.kafka.bootstrap.servers" : "hadoop102:9092",
        "schema.history.internal.kafka.topic": "AIS",
        "database.encrypt": "false",

        "snapshot.mode":"initial",
        "snapshot.locking.mode": "none",
        "snapshot.isolation.mode": "read_committed",

        "transforms":"Reroute",
        "transforms.Reroute.type":"io.debezium.transforms.ByLogicalTableRouter",
        "transforms.Reroute.topic.regex":".*",
        "transforms.Reroute.topic.replacement":"topic_db"
    }
}
这个请求则是获得connect的状态,通过name。get请求
hadoop102:8083/connectors/AIS/status

 这样就算成功了。

后面则是删除这connect。

hadoop102:8083/connectors/AIS

 

 

posted @ 2024-03-06 20:09  啦啦啦one  阅读(302)  评论(0编辑  收藏  举报