Kafka 尝试部署debezium连接器时,没有字符串参数构造函数/工厂方法可从字符串值反序列化

toe95027  于 2023-01-29  发布在  Apache
关注(0)|答案(1)|浏览(124)

我正在看一个关于Kafka connect的视频教程,他想让我在cmd中使用curl命令来部署debezium连接器:

curl -i -X POST -H "Accept:application/json" -H "Content-Type:application/json" 
localhost:8083/connectors -d """{
    "name": "articles-connector", 
    "config": {
        "connector.class": "io.debezium.connector.mysql.MySqlConnector", 
        "tasks.max": "1", 
        "database.hostname": "mysql", 
        "database.port": "3305", 
        "database.user": "globalmantics", 
        "database.password": "password", 
        "database.server.id": "223344", 
        "database.server.name": "globalmantics", 
        "database.whitelist": "globalmantics", 
        "database.history.kafka.bootstrap.server": "kafka:9092", 
        "database.history.kafka.topic": "schema-changes" 
    } 
}"""

但是,当我运行该命令时,我得到以下错误:

HTTP/1.1 500 Internal Server Error
Date: Fri, 27 Jan 2023 16:46:12 GMT
Content-Type: application/json
Content-Length: 797
Server: Jetty(9.4.20.v20190813)

{"error_code":500,"message":"Cannot construct instance of `org.apache.kafka.connect.runtime.rest.entities.CreateConnectorRequest` (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('{name: articles-connector, config: {connector.class: io.debezium.connector.mysql.MySqlConnector, tasks.max: 1, database.hostname: mysql, database.port: 3305, database.user: globalmantics, database.password: password, database.server.id: 223344, database.server.name: globalmantics, database.whitelist: globalmantics, database.history.kafka.bootstrap.server: kafka:9092, database.history.kafka.topic: schema-changes } }')\n at [Source: (org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream); line: 1, column: 1]"}

你知道我哪里做错了吗?

rkue9o1l

rkue9o1l1#

您需要删除三引号。在JSON两边使用单引号。
或者使用文件。

curl -X POST \
  -H "Content-Type:application/json" \
  -d@connector.json \
  localhost:8083/connectors

相关问题