【问题标题】:Kafka Connect CDC to MS SQL sourceOffset exceptionKafka Connect CDC 到 MS SQL sourceOffset 异常
【发布时间】:2018-12-27 19:11:03
【问题描述】:

我们正在使用 Confluent MS SQL CDC 连接器,连接描述符是:

curl -X POST -H \
  "Content-Type: application/json" --data '{
    "name" : "yury-mssql-cdc1",
    "config" : {
      "connector.class" : "io.confluent.connect.cdc.mssql.MsSqlSourceConnector",
      "tasks.max" : "1",
      "initial.database" : "test2",
      "username" : "user",
      "password" : "pass",
      "server.name" : "some-server.eu-west-1.rds.amazonaws.com",
      "server.port" : "1433",
      "change.tracking.tables" : "dbo.foobar"
    }
  }' \
   http://ip-10-0-0-24.eu-west-1.compute.internal:8083/connectors

整个基础设施都部署在 AWS... 例外情况是:

查询 ChangeKey 时抛出 ERROR 异常

{databaseName=test2, schemaName=dbo, tableName=foobar} (io.confluent.connect.cdc.mssql.QueryService:94) java.lang.NullPointerException: sourceOffset 不能为空。

任何帮助将不胜感激。

【问题讨论】:

    标签: sql-server apache-kafka confluent-platform cdc


    【解决方案1】:

    我找到了答案,我认为问题出在 SQL server CDC 的配置方式上。我们不应该使用设置 CDC 的旧方式(EXEC sys.sp_cdc_enable_db 和 EXEC sys.sp_cdc_enable_table)

    改为使用以下命令配置 SQL server CDC

    ALTER DATABASE [数据库名称] SET CHANGE_TRACKING = ON(CHANGE_RETENTION = 2 天,AUTO_CLEANUP = ON) 去 ALTER DATABASE [数据库名称] SET ALLOW_SNAPSHOT_ISOLATION ON 去 ALTER TABLE [名称] ENABLE CHANGE_TRACKING WITH (TRACK_COLUMNS_UPDATED = ON) 去吧

    【讨论】:

    • 我已修复此问题,但现在出现错误:“表 dbo.users 必须至少有一个主键列。”。这很奇怪,因为该表有一个主键。
    猜你喜欢
    • 2018-02-19
    • 1970-01-01
    • 2020-07-09
    • 2019-01-01
    • 2019-06-02
    • 2018-07-08
    • 1970-01-01
    • 2018-02-08
    • 2016-09-30
    相关资源
    最近更新 更多