You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform创建DMS复制任务失败,CloudWatch日志无明确报错

AWS DMS复制任务启动失败排查方案

从提供的日志来看,任务在源端点初始化完成后直接进入资源释放流程,未执行实际的数据加载或捕获操作,仅抛出模糊的致命错误。结合映射规则和任务配置,以下是具体排查方向:

1. 源/目标端点权限与元数据验证

  • 源MySQL用户需具备SELECT(针对ti-lv.application表)、REPLICATION SLAVE、REPLICATION CLIENT权限,同时能执行SHOW DATABASES、DESCRIBE ti-lv.application等元数据查询操作
  • 目标端点用户需具备CREATE TABLE、DROP TABLE权限(因任务配置为DROP_AND_CREATE),若目标是RDS,需确认IAM角色或直接用户权限覆盖目标库的DDL操作
  • 手动测试端点连接:在DMS控制台触发源/目标端点的连接测试,确保连接成功;用端点账号登录源库执行SELECT * FROM ti-lv.application LIMIT 1,登录目标库执行CREATE TABLE test(id INT); DROP TABLE test验证权限

2. 映射规则准确性校验

  • 确认源库中存在ti-lv数据库(MySQL中schema对应database),名称完全匹配(注意部分数据库大小写敏感)
  • 确认ti-lv库下存在application表,无拼写错误

3. 调整日志级别获取详细错误信息

当前日志中TABLES_MANAGER和TARGET_LOAD组件为默认级别,无法输出元数据读取或目标写入的详细错误。修改任务配置的Logging.LogComponents,将这两个组件的日志级别改为LOGGER_SEVERITY_DEBUG:

{
  "Id": "TABLES_MANAGER",
  "Severity": "LOGGER_SEVERITY_DEBUG"
},
{
  "Id": "TARGET_LOAD",
  "Severity": "LOGGER_SEVERITY_DEBUG"
}

重启任务后查看CloudWatch日志,定位具体错误点

4. 任务配置参数修正

  • TargetMetadata.TargetSchema为空:若目标是PostgreSQL、SQL Server等需要指定schema的数据库,必须填写正确的目标schema名称;若为MySQL,需确认端点用户的默认数据库与预期一致
  • ErrorBehavior.FailOnNoTablesCaptured: false:该配置会导致任务在未匹配到源表时不报错,需确认源表确实存在且符合映射规则

原始问题信息

CloudWatch日志片段

2024-05-24T07:42:20.000Z    2024-05-24T07:42:20 [SOURCE_CAPTURE ]D: 51) name: 'varchar', SQLType: 12, create params: 'length', unsigned: '-1', iFixedPrecScale: '0', iColumnSize: '255', iMinimumScale '0', iMaximumScale: '0' (ar_odbc_conn.c:1371)
2024-05-24T07:42:20.000Z    2024-05-24T07:42:20 [SOURCE_CAPTURE ]D: Exit ODBC Provider supported data types (ar_odbc_conn.c:1391)
2024-05-24T07:42:20.000Z    2024-05-24T07:42:20 [SOURCE_CAPTURE ]I: Source endpoint 'Mysql' is using provider syntax 'MySQL' (provider_syntax_manager.c:894)
2024-05-24T07:42:20.000Z    2024-05-24T07:42:20 [SOURCE_CAPTURE ]I: Mysql endpoint initialization finished for the stream component (mysql_endpoint_imp.c:808)
2024-05-24T07:42:20.000Z    2024-05-24T07:42:20 [SOURCE_CAPTURE ]D: Entering 'mysql_endpoint_free_imp' (mysql_endpoint_imp.c:879)
2024-05-24T07:42:20.000Z    2024-05-24T07:42:20 [SORTER ]I: Sorter inspect target state (sorter.c:519)
2024-05-24T07:42:20.000Z    2024-05-24T07:42:20 [SORTER ]I: Target state checkpoint source id: 0 (sorter.c:524)
2024-05-24T07:42:20.000Z    2024-05-24T07:42:20 [SORTER ]I: 'Stop reading when memory limit reached' is set to true (sorter.c:688)
2024-05-24T07:42:20.000Z    2024-05-24T07:42:20 [SOURCE_CAPTURE ]D: Leaving 'mysql_endpoint_free_imp' (mysql_endpoint_imp.c:896)
2024-05-24T07:42:20.000Z    2024-05-24T07:42:20 [TARGET_APPLY ]D: Entering 'odbc_endpoint_free_imp' (odbc_endpoint_imp.c:4045)
2024-05-24T07:42:20.000Z    2024-05-24T07:42:20 [TASK_MANAGER ]I: Subtask #0 ended (replicationtask_util.c:595)
2024-05-24T07:42:20.000Z    2024-05-24T07:42:20 [TASK_MANAGER ]I: Task - 222222222222222EEEE is in ERROR state, updating starting status to AR_NOT_APPLICABLE (repository.c:5483)
2024-05-24T07:42:20.000Z    2024-05-24T07:42:20 [TASK_MANAGER ]E: Task '222222222222222EEEEE' encountered a fatal error (repository.c:5580)
2024-05-24T07:42:29.000Z    2024-05-24T07:42:29 [TASK_MANAGER ]I: Task management thread terminated (replicationtask.c:4538)
2024-05-24T07:42:31.000Z    2024-05-24T07:42:31 [AT_GLOBAL ]I: Closing log file at Fri May 24 07:42:31 2024 (at_logger.c:2975)

复制任务映射规则

{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "ti-lv",
                "table-name": "application"
            },
            "rule-action": "include"
        }
    ]
}

复制任务设置配置

{
  "TargetMetadata": {
    "TargetSchema": "",
    "SupportLobs": true,
    "FullLobMode": false,
    "LobChunkSize": 0,
    "LimitedSizeLobMode": true,
    "LobMaxSize": 512,
    "InlineLobMaxSize": 0,
    "LoadMaxFileSize": 0,
    "ParallelLoadThreads": 0,
    "ParallelLoadBufferSize": 0,
    "BatchApplyEnabled": false,
    "TaskRecoveryTableEnabled": false,
    "ParallelLoadQueuesPerThread": 0,
    "ParallelApplyThreads": 0,
    "ParallelApplyBufferSize": 0,
    "ParallelApplyQueuesPerThread": 0
  },
  "FullLoadSettings": {
    "TargetTablePrepMode": "DROP_AND_CREATE",
    "CreatePkAfterFullLoad": false,
    "StopTaskCachedChangesApplied": false,
    "StopTaskCachedChangesNotApplied": false,
    "MaxFullLoadSubTasks": 2,
    "TransactionConsistencyTimeout": 1200,
    "CommitRate": 20000
  },
  "Logging": {
    "EnableLogging": true,
    "EnableLogContext": false,
    "LogComponents": [
      {
        "Id": "TRANSFORMATION",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },
      {
        "Id": "SOURCE_UNLOAD",
        "Severity": "LOGGER_SEVERITY_DEBUG"
      },
      {
        "Id": "IO",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },
      {
        "Id": "TARGET_LOAD",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },
      {
        "Id": "PERFORMANCE",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },
      {
        "Id": "SOURCE_CAPTURE",
        "Severity": "LOGGER_SEVERITY_DEBUG"
      },
      {
        "Id": "SORTER",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },
      {
        "Id": "REST_SERVER",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },
      {
        "Id": "VALIDATOR_EXT",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },
      {
        "Id": "TARGET_APPLY",
        "Severity": "LOGGER_SEVERITY_DEBUG"
      },
      {
        "Id": "TASK_MANAGER",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },
      {
        "Id": "TABLES_MANAGER",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },
      {
        "Id": "METADATA_MANAGER",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },
      {
        "Id": "FILE_FACTORY",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },
      {
        "Id": "COMMON",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },
      {
        "Id": "ADDONS",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },
      {
        "Id": "DATA_STRUCTURE",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },
      {
        "Id": "COMMUNICATION",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },
      {
        "Id": "FILE_TRANSFER",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      }
    ]
  },
  "ControlTablesSettings": {
    "FullLoadExceptionTableEnabled": false,
    "ControlSchema": "dms",
    "HistoryTimeslotInMinutes": 5,
    "HistoryTableEnabled": true,
    "SuspendedTablesTableEnabled": true,
    "StatusTableEnabled": true
  },
  "StreamBufferSettings": {
    "StreamBufferCount": 3,
    "StreamBufferSizeInMB": 8,
    "CtrlStreamBufferSizeInMB": 5
  },
  "ChangeProcessingDdlHandlingPolicy": {
    "HandleSourceTableDropped": true,
    "HandleSourceTableTruncated": true,
    "HandleSourceTableAltered": true
  },
  "ErrorBehavior": {
    "EventErrorPolicy": "IGNORE",
    "DataErrorPolicy": "LOG_ERROR",
    "DataTruncationErrorPolicy": "LOG_ERROR",
    "DataErrorEscalationPolicy": "SUSPEND_TABLE",
    "DataErrorEscalationCount": 0,
    "TableErrorPolicy": "SUSPEND_TABLE",
    "TableErrorEscalationPolicy": "STOP_TASK",
    "TableErrorEscalationCount": 0,
    "RecoverableErrorCount": -1,
    "RecoverableErrorInterval": 5,
    "RecoverableErrorThrottling": true,
    "RecoverableErrorThrottlingMax": 1800,
    "RecoverableErrorStopRetryAfterThrottlingMax": true,
    "ApplyErrorDeletePolicy": "IGNORE_RECORD",
    "ApplyErrorInsertPolicy": "LOG_ERROR",
    "ApplyErrorUpdatePolicy": "LOG_ERROR",
    "ApplyErrorEscalationPolicy": "LOG_ERROR",
    "ApplyErrorEscalationCount": 0,
    "ApplyErrorFailOnTruncationDdl": false,
    "FullLoadIgnoreConflicts": true,
    "FailOnTransactionConsistencyBreached": false,
    "FailOnNoTablesCaptured": false
  },
  "FailTaskWhenCleanTaskResourceFailed": false,
  "TTSettings": {
    "EnableTT": false,
    "TTRecordSettings": null,
    "TTS3Settings": null
  },
  "ChangeProcessingTuning": {
    "BatchApplyPreserveTransaction": true,
    "BatchApplyTimeoutMin": 1,
    "BatchApplyTimeoutMax": 30,
    "BatchApplyMemoryLimit": 500,
    "BatchSplitSize": 0,
    "MinTransactionSize": 1000,
    "CommitTimeout": 1,
    "MemoryLimitTotal": 1024,
    "MemoryKeepTime": 60,
    "StatementCacheSize": 50
  },
  "PostProcessingRules": null,
  "CharacterSetSettings": null,
  "LoopbackPreventionSettings": null,
  "BeforeImageSettings": null
}

内容的提问来源于stack exchange,提问作者x89

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 14:39:49