You need to enable JavaScript to run this app.
文档中心
大数据研发治理套件

大数据研发治理套件

复制全文
下载 pdf
高级参数
配置 MySQL CDC 高级参数
复制全文
下载 pdf
配置 MySQL CDC 高级参数

在解决方案的相应场景中,MySQL CDC Source Connector 会通过实时读取 MySQL Binlog 进行数据同步。本文将详细介绍如何配置 MySQL CDC Connector 的各项高级参数,来帮助您优化任务性能并规避常见问题。

通用建议

  • 优先保持默认:大多数参数是“故障排查 / 特殊场景兼容”才需要改。
  • 一次只改一个参数:CDC 场景联动多,建议每次改动都在小流量环境验证。
  • 出现数据中断/回退风险的参数(如 initial_offset_type、auto_offset_reset、job.reader.debezium.*)优先在低峰期操作。

一、连接与鉴权

job.reader.connections

1. 参数概述

  • 参数名: job.reader.connections
  • 适用范围: MySQL CDC Source(connector-cdc-mysql-v3)
  • 单位/类型: List<ClusterInfo>
  • 默认值: 默认值请以当前产品配置为准(通常由平台根据数据源自动生成;为空会失败)
  • 核心作用: 定义 MySQL 连接地址。当前实现通常只使用第一个 cluster 的 master 作为连接目标。

连接结构示例(来自原始参数文档截图):

2. 适用场景

  • 必配场景:任何 MySQL CDC 任务都必须有可用连接信息。
  • 需要手动干预的场景:平台自动生成的连接信息不符合预期(例如需要连到指定 VIP / 代理层)。

3. 调参建议 / 推荐配置

  • 默认推荐:使用平台自动生成的值。
  • 排障临时配置:可将 master.host/port 指向可直连且权限正确的实例,快速排除“网络/权限/代理”问题。

4. 参数联动

  • 与 job.reader.user_name / job.reader.password 强绑定。
  • 若你通过 master.url(或 db_url)提供 JDBC URL,可能还会与连接参数(如 useSSL、serverTimezone)有关;但多数场景建议走平台默认。

5. FAQ(用户提问)

  • 问:我配了多个 cluster/slave,会轮询吗?
    • 答:大多数 CDC 场景只取第一个 cluster 的 master 作为连接入口。是否支持多地址容灾以产品行为为准。

6. 注意事项

  • CDC 用户需具备必要的权限(常见包括 replication 相关权限、读取库表权限)。
  • 如果 connections 为空或结构不合法,任务会在启动时直接失败。

7. 总结说明

job.reader.connections 用于告诉 CDC 作业“连到哪台 MySQL”。通常不需要你手工填写,保持平台自动生成即可;只有在连接目标需要特殊指定或排障时才建议修改。

job.reader.user_name

1. 参数概述

  • 参数名: job.reader.user_name
  • 适用范围: MySQL CDC Source
  • 单位/类型: 字符串
  • 默认值: 无(必填)
  • 核心作用: MySQL 登录用户名。

2. 适用场景

  • 必配:所有任务都需要。
  • 排障:遇到连接失败、权限不足、无法读取 binlog 时,优先检查用户名对应权限。

3. 调参建议 / 推荐配置

  • 建议使用专用的 CDC 账号(最小权限原则),并与业务账号隔离。

4. 参数联动

  • 与 job.reader.password、job.reader.connections 强绑定。

5. FAQ(用户提问)

  • 问:为什么连接成功但读不到 binlog?
    • 答:通常是 replication / binlog 相关权限不足,建议检查账号授权。

6. 注意事项

  • 账号权限过小会导致“能连上但拉不到增量”的隐蔽问题。

7. 总结说明

job.reader.user_name 是 MySQL CDC 的登录用户,必须配置且需要具备 CDC 所需权限。

job.reader.password

1. 参数概述

  • 参数名: job.reader.password
  • 适用范围: MySQL CDC Source
  • 单位/类型: 字符串
  • 默认值: 无(必填)
  • 核心作用: MySQL 登录密码。

2. 适用场景

  • 必配:所有任务都需要。

3. 调参建议 / 推荐配置

  • 推荐通过平台密文/密钥管理能力配置,避免明文。

4. 参数联动

  • 与 job.reader.user_name、job.reader.connections 强绑定。

5. FAQ(用户提问)

  • 问:我不想在配置里放明文怎么办?
    • 答:优先使用平台提供的密文托管/凭证引用方式;如果只能写入配置,也应限制可见范围。

6. 注意事项

  • 避免把密码打印到日志或工单中。

7. 总结说明

job.reader.password 是登录凭证的一部分,建议通过平台的安全方式配置,避免明文泄漏。

job.reader.db_name

1. 参数概述

  • 参数名: job.reader.db_name
  • 适用范围: MySQL CDC Source
  • 单位/类型: 字符串
  • 默认值: 默认值请以当前产品配置为准
  • 核心作用: 指定数据库名(用于限定范围/构造 Debezium 连接配置)。

2. 适用场景

  • 单库采集、希望在连接层就明确数据库范围时。

3. 调参建议 / 推荐配置

  • 如果你已经通过 database_include_list / table_include_list 做了过滤,通常无需额外配置。

4. 参数联动

  • 与 job.reader.database_include_list / job.reader.table_include_list 同时存在时,以实际过滤行为为准(建议以 include_list 为主)。

5. FAQ(用户提问)

  • 问:我只配了 db_name,为什么还是抓到了别的库?
    • 答:库表过滤建议使用 database_include_list/table_include_list,db_name 更多是连接/标识层参数。

6. 注意事项

  • 多库场景下不建议只依赖 db_name 做过滤。

7. 总结说明

job.reader.db_name 用于指定数据库范围/标识,但库表过滤建议优先使用 include_list 系列参数。

job.reader.table_name

1. 参数概述

  • 参数名: job.reader.table_name
  • 适用范围: MySQL CDC Source
  • 单位/类型: 字符串
  • 默认值: 默认值请以当前产品配置为准(通常来自用户选择的表映射)
  • 核心作用: 常用于 Catalog 构造或平台侧表映射信息;并不是 CDC 捕获过滤的唯一入口。

2. 适用场景

  • 平台/产品要求提供表名映射时。

3. 调参建议 / 推荐配置

  • CDC 捕获过滤建议以 table_include_list 为主;table_name 一般不需要手动调。

4. 参数联动

  • 与 job.reader.table_include_list 联动:include_list 才是更直接的捕获过滤入口。

5. FAQ(用户提问)

  • 问:我改了 table_name,为什么实际抓取表没变?
    • 答:实际捕获过滤通常由 table_include_list / Debezium filter 决定。

6. 注意事项

  • 不建议把它当作唯一过滤手段。

7. 总结说明.reader.table_name 更多用于平台侧表映射/构造信息;真正控制 CDC 抓取范围,建议用 table_include_list。

job.reader.identifier

1. 参数概述

  • 参数名: job.reader.identifier
  • 适用范围: MySQL CDC Source
  • 单位/类型: 字符串
  • 默认值: 默认值请以当前产品配置为准(平台在分库分表/多实例场景可能自动生成)
  • 核心作用: 用于区分多个 source 实例,常被用于生成 server_name、history 标识,以及输出元数据字段(如 _$id$_)的内容。

2. 适用场景

  • 多实例/多任务并行采集同一 MySQL,希望避免逻辑名称冲突。
  • 需要在下游区分来源(多路复用)时。

3. 调参建议 / 推荐配置

  • 默认推荐由平台生成。
  • 手动配置时建议保持“短、稳定、可读”,例如 bizA_order_cdc_01。

4. 参数联动

  • 影响 job.reader.server_name / job.reader.server_id 的默认生成逻辑。
  • 与 _src_meta_info_ / _$id$_ 等元数据字段展示相关。

5. FAQ(用户提问)

  • 问:为什么两个任务互相影响、像是读到同一个 server?
    • 答:可能是 server_name/server_id 冲突。建议检查是否需要设置 identifier(或显式配置 server_name/server_id)。

6. 注意事项

  • 频繁修改 identifier 可能导致“看起来像新任务”,影响恢复与排障定位。

7. 总结说明

job.reader.identifier 主要用于区分不同 CDC 实例,减少 server 名称/元数据冲突,多实例场景建议保持唯一且稳定。

job.reader.server_name

1. 参数概述

  • 参数名: job.reader.server_name
  • 适用范围: MySQL CDC Source
  • 单位/类型: 字符串
  • 默认值: 默认值请以当前产品配置为准(通常用 job_id 或结合 identifier 自动生成)
  • 核心作用: 覆盖 Debezium 的 logical name(常用于内部标识、history 等)。

2. 适用场景

  • 多任务并行、需要避免 logical name 冲突时。

3. 调参建议 / 推荐配置

  • 若平台已自动生成,通常无需手动配置。
  • 手动配置建议与 identifier 保持一致策略(唯一、稳定)。

4. 参数联动

  • 与 job.reader.server_id 强联动:通常一起看,避免一改一不改引入冲突。

5. FAQ(用户提问)

  • 问:server_name 配错会怎样?
    • 答:可能导致两个任务共享/冲突内部标识,带来不可预期的恢复和数据问题。

6. 注意事项

  • 不建议在生产任务运行中频繁变更。

7. 总结说明

job.reader.server_name 用于指定 CDC 任务的逻辑名称,多实例场景可用于避免冲突,建议保持唯一且稳定。

job.reader.server_id

1. 参数概述

  • 参数名: job.reader.server_id
  • 适用范围: MySQL CDC Source
  • 单位/类型: 整数
  • 默认值: 默认值请以当前产品配置为准(通常自动生成)
  • 核心作用: MySQL replication 的 server-id。用于与 MySQL 建立复制/读取 binlog 的身份标识。

2. 适用场景

  • 多个 CDC 任务同时订阅同一 MySQL,需要确保 server-id 不冲突。

3. 调参建议 / 推荐配置

  • 默认推荐使用平台自动生成的 server-id。
  • 若需手工指定,务必保证在同一 MySQL 实例维度全局唯一。

4. 参数联动

  • 与 job.reader.server_name、job.reader.identifier 联动。

5. FAQ(用户提问)

  • 问:为什么报“server id 冲突/重复连接”?
    • 答:通常是多个任务使用了相同 server-id。建议显式配置或保证平台生成策略不冲突。

6. 注意事项

  • server-id 冲突可能导致 CDC 不稳定甚至中断。

7. 总结说明

job.reader.server_id 是 CDC 以 replication 身份读取 binlog 的关键参数,多任务场景必须确保唯一。

二、DDL / Schema 相关

job.reader.include_schema_changes

1. 参数概述

  • 参数名: job.reader.include_schema_changes
  • 适用范围: MySQL CDC Source
  • 单位/类型: Boolean
  • 默认值: 引擎默认 false;部分 Streaming 模板可能会默认开启(请以当前产品配置为准)
  • 核心作用: 是否输出 schema change event(DDL)。开启后,下游需要具备处理 DDL 事件的能力。

2. 适用场景

  • 需要同步表结构演进:下游需要感知新增字段/改字段等变更,并做自动建表/自动加列。
  • 排障定位:希望验证上游是否存在频繁 DDL、以及 DDL 是否被正确捕获。

3. 调参建议 / 推荐配置

  • 默认推荐:下游不支持 DDL 时保持关闭。
  • Schema 演进/自动建表:开启,并同时确认下游链路对 DDL 的处理策略。
  • 排障临时:短期开启观察 DDL,再恢复默认。

4. 参数联动

  • 与 job.reader.debezium 中 Debezium 的 schema/ddl 相关参数联动(例如 schema handling、history、converter 等)。

5. FAQ(用户提问)

  • 问:开了之后下游为什么报“schema mismatch / column not found”?
    • 答:通常是下游还没来得及应用 DDL,或不支持 DDL 事件。此参数只能“发出 DDL”,不负责“落地 DDL”。

6. 注意事项

  • 开启会增加下游处理复杂度;如果你的 sink/下游不需要 schema 演进,建议关闭。

7. 总结说明

job.reader.include_schema_changes 控制是否把 MySQL 的 DDL 也作为事件输出。只有当下游具备 schema 演进处理能力时才建议开启。

三、启动位点 / Offset 相关

job.reader.initial_offset_type

1. 参数概述

  • 参数名: job.reader.initial_offset_type
  • 适用范围: MySQL CDC Source
  • 单位/类型: 字符串
  • 默认值: latest
  • 核心作用: 指定 首次启动或没有可恢复状态时,从哪个 binlog 位点开始。

常见取值(以产品支持为准):

  • earliest:从最早可访问位点开始
  • latest:从最新位点开始(更“实时”,但会跳过历史增量)
  • timestamp:从指定时间点附近开始(依赖 initial_offset_timestamp)
  • specified:从用户指定的 offset 开始(依赖 initial_offset_props)

2. 适用场景

  • 追求实时、无需历史增量:选择 latest。
  • 补历史/追溯:选择 earliest 或 timestamp / specified。
  • 迁移/切换任务:希望严格从某个已知位点接续时,使用 specified。

3. 调参建议 / 推荐配置

  • 默认推荐:latest。
  • 补数/回溯:优先 timestamp(更易操作);需要精确接续再用 specified。
  • 排障临时:如怀疑位点问题,可用 timestamp 从稍早时间点重启验证。

4. 参数联动

  • timestamp 必须配 job.reader.initial_offset_timestamp。
  • specified 必须配 job.reader.initial_offset_props。
  • 与 job.reader.auto_offset_reset 有“兜底”关系:当恢复位点不可用时,是否允许自动跳转。

5. FAQ(用户提问)

  • 问:我把 initial_offset_type 改成 earliest,会不会重复消费?
    • 答:如果任务没有可恢复状态(新任务/状态丢失),会从更早位点读,可能造成重复。生产环境变更需谨慎。

6. 注意事项

  • 这类“起始位点”参数常带来 重放/丢数 风险,建议只在明确了解影响时调整。

7. 总结说明

job.reader.initial_offset_type 决定首次启动从哪读 binlog。默认 latest 偏实时;需要追溯时再选择 earliest/timestamp/specified。

job.reader.initial_offset_timestamp

1. 参数概述

  • 参数名: job.reader.initial_offset_timestamp
  • 适用范围: MySQL CDC Source
  • 单位/类型: Long(毫秒时间戳)
  • 默认值: 无(仅在 initial_offset_type=timestamp 时需要)
  • 核心作用: 以“时间点”表达启动位点。

2. 适用场景

  • 需要从某个时间附近开始追溯(例如“从昨天 00:00 开始补”)。

3. 调参建议 / 推荐配置

  • 建议把时间点取在“目标时间稍早一些”,留出 MySQL binlog 的时间-位点对齐误差空间。

4. 参数联动

  • 仅在 job.reader.initial_offset_type=timestamp 生效。

5. FAQ(用户提问)

  • 问:为什么我指定时间点还是有偏差?
    • 答:binlog 位点和时间是近似映射,可能存在一定偏移,建议适当回拨。

6. 注意事项

  • 必须保证 MySQL 的 binlog 保留时长覆盖你指定的时间点,否则会失败或触发兜底策略。

7. 总结说明

job.reader.initial_offset_timestamp 让你用时间来表达起始位点,适合补数追溯,但需确保 binlog 保留覆盖该时间段。

job.reader.initial_offset_props

1. 参数概述

  • 参数名: job.reader.initial_offset_props
  • 适用范围: MySQL CDC Source
  • 单位/类型: Map<String,String>
  • 默认值: 无(仅在 initial_offset_type=specified 时需要)
  • 核心作用: 用更精确的方式指定启动位点(例如 binlog 文件名/pos/gtid 等,具体字段以产品实现为准)。

2. 适用场景

  • 迁移/容灾切换,希望从“明确的已知位点”接续,避免时间映射误差。

3. 调参建议 / 推荐配置

  • 仅建议在你能拿到可靠位点信息(例如从上一次任务状态/平台位点页面)时使用。

4. 参数联动

  • 仅在 job.reader.initial_offset_type=specified 生效。

5. FAQ(用户提问)

  • 问:props 里到底要写哪些字段?
    • 答:不同实现可能不同,建议以平台提供的位点导出/示例为准;不要猜字段名。

6. 注意事项

  • 指定位点错误可能导致启动失败或数据断点不连续。

7. 总结说明

job.reader.initial_offset_props 适用于“精确位点接续”的场景,建议只在有可靠位点来源时使用。

job.reader.auto_offset_reset

1. 参数概述

  • 参数名: job.reader.auto_offset_reset
  • 适用范围: MySQL CDC Source
  • 单位/类型: 字符串(枚举)
  • 默认值: DEFAULT
  • 核心作用: 当任务恢复出来的 binlog 位点 已不可访问(例如 binlog 已被清理)时的兜底策略。

常见取值:

  • DEFAULT:直接失败(更安全)
  • EARLIEST:从最早可访问位点继续
  • LATEST:从最新位点继续

2. 适用场景

  • 经常遇到 binlog 过期(保留时长短 + 任务偶发停止)的场景。

3. 调参建议 / 推荐配置

  • 默认推荐:DEFAULT,避免静默丢数/重放。
  • 吞吐/稳定优先,允许一定数据不一致:可考虑 LATEST(可能跳过一段数据)。
  • 希望尽量不丢数据,能接受重复:可考虑 EARLIEST(可能重放一段数据)。

4. 参数联动

  • 与 MySQL binlog 保留策略强相关(binlog 保留越短,越容易触发)。
  • 与下游幂等/去重能力强相关。

5. FAQ(用户提问)

  • 问:我选了 LATEST,为什么感觉少了一段数据?
    • 答:这是预期风险:LATEST 会跳到最新位点,可能跳过不可访问段。

6. 注意事项

说明

这是一个“能让任务继续跑,但可能引入数据不一致”的参数。除非你明确接受“可能丢数或重复”,否则建议保持 DEFAULT。

7. 总结说明

job.reader.auto_offset_reset 决定了“位点丢了怎么办”。默认直接失败更安全;改成 EARLIEST/LATEST 可能换来继续运行,但要承担重复或丢数风险。

四、Debezium 透传与 Rescale/恢复相关

job.reader.debezium

1. 参数概述

  • 参数名: job.reader.debezium
  • 适用范围: MySQL CDC Source
  • 单位/类型: Map<String,String>
  • 默认值: 无
  • 核心作用: 透传 Debezium 配置(key/value),并覆盖 connector 默认值。

示例(仅示意,具体键请以 Debezium 官方文档与产品支持为准):

{
  "job": {
    "reader": {
      "debezium": {
        "heartbeat.interval.ms": "300000",
        "tombstones.on.delete": "false"
      }
    }
  }
}

2. 适用场景

  • 需要开启/调整 Debezium 的高级能力:heartbeat、snapshot、converter、schema/history、SSL 等。
  • 排障时希望临时调整 Debezium 行为(例如降低 heartbeat 间隔)。

3. 调参建议 / 推荐配置

  • 默认推荐:不配置或仅配置少量“确定必要”的键。
  • 排障临时:短期开启/调整某些 Debezium 参数,验证后回收。

4. 参数联动

  • 会覆盖 connector 默认值(例如时区、SSL、tombstone、schema handling 等)。
  • 与 job.reader.include_schema_changes、在线 DDL 工具开关(ghost/pt-osc)等存在间接联动。

5. FAQ(用户提问)

  • 问:我配了 debezium 之后任务行为变了,为什么?
    • 答:job.reader.debezium 的覆盖优先级很高,可能把 connector 的默认值覆盖掉了。建议只改你确定需要的键,并记录改动。

6. 注意事项

说明

job.reader.debezium 是“高级开口”。生产环境不建议一次性塞入大量 Debezium 键值;如果必须改,建议先在低流量环境验证。

7. 总结说明

job.reader.debezium 允许你直接控制 Debezium 的细节能力,但同时也会覆盖 connector 默认值。建议谨慎、小步、可回滚地使用。

job.reader.debezium.mysql_rescale_strategy

1. 参数概述

  • 参数名: job.reader.debezium.mysql_rescale_strategy
  • 适用范围: MySQL CDC Source
  • 单位/类型: 字符串(枚举)
  • 默认值: DELAY_FAILOVER
  • 核心作用: 当 rescale/通信失败等场景发生时,选择立即 failover 还是“等成功 checkpoint 后再 failover”,以提升一致性。

2. 适用场景

  • 作业经常发生 rescale(扩缩容)或遇到短暂网络抖动,且对一致性更敏感。

3. 调参建议 / 推荐配置

  • 默认推荐:保持 DELAY_FAILOVER。
  • 更快恢复优先:可评估切到 DEFAULT(立即 failover),但需接受一致性风险。

4. 参数联动

  • 与 job.reader.checkpoint_num_delay 强联动。
  • 与 job.common.checkpoint_enable(是否开启 checkpoint)间接相关:若不启 checkpoint,“等 checkpoint 再 failover”的收益会打折。

5. FAQ(用户提问)

  • 问:为什么我感觉 failover 变慢了?
    • 答:DELAY_FAILOVER 会等待成功 checkpoint 再抛错触发 failover,这是用恢复速度换一致性。

6. 注意事项

  • 建议结合业务对“少量重复/少量丢失”的容忍度选择。

7. 总结说明

mysql_rescale_strategy 主要决定 rescale/通信失败时的 failover 时机。默认延迟到 checkpoint 后更稳;立即 failover 更快但风险更高。

job.reader.checkpoint_num_delay

1. 参数概述

  • 参数名: job.reader.checkpoint_num_delay
  • 适用范围: MySQL CDC Source
  • 单位/类型: 整数
  • 默认值: 1
  • 核心作用: 在 mysql_rescale_strategy=DELAY_FAILOVER 下,允许在最近一次成功 checkpoint 之后,最多容忍多少次 aborted checkpoint 才抛异常。

2. 适用场景

  • checkpoint 偶发失败,但不希望立刻触发 failover。

3. 调参建议 / 推荐配置

  • 默认推荐:1。
  • checkpoint 波动较大:可适当调大(例如 3~5)以减少抖动导致的频繁 failover。

4. 参数联动

  • 与 job.reader.debezium.mysql_rescale_strategy 强联动。
  • 与 Flink checkpoint 稳定性(IO、反压、状态大小)间接相关。

5. FAQ(用户提问)

  • 问:调大是不是就更稳定?
    • 答:调大只会“更能忍”,可能延后发现真实故障。建议先定位 checkpoint 失败原因。

6. 注意事项

  • 不建议无限调大,否则会掩盖真实错误。

7. 总结说明

checkpoint_num_delay 是 DELAY_FAILOVER 的“容忍度”参数,适合用来抗短暂 checkpoint 抖动,但不应替代对失败根因的治理。

job.reader.fix_binlog_split_state

1. 参数概述

  • 参数名: job.reader.fix_binlog_split_state
  • 适用范围: MySQL CDC Source
  • 单位/类型: Boolean
  • 默认值: true
  • 核心作用: 从 checkpoint 恢复时,自动清理 binlog split state 中“已被 exclude 的表/已删除表”的 schema,降低恢复失败概率。

2. 适用场景

  • 任务恢复时出现 schema 相关报错(例如恢复失败、表已被排除/删除导致不一致)。

3. 调参建议 / 推荐配置

  • 默认推荐:保持 true。
  • 排障:如果你怀疑该修复逻辑引入副作用,可临时置为 false 对比验证。

4. 参数联动

  • 与 include/exclude 规则(table_include_list、在线 DDL 工具开关)间接相关。

5. FAQ(用户提问)

  • 问:为什么恢复时突然找不到某些表的 schema?
    • 答:如果这些表已被排除或确实不存在,开启该参数会主动清理相关状态以保证恢复成功。

6. 注意事项

  • 这是偏“兼容/恢复成功率”的参数,通常不建议关闭。

7. 总结说明

fix_binlog_split_state 用来提高从 checkpoint 恢复的成功率,默认开启即可,只有排查副作用时才建议临时关闭。

五、Debezium 拉取队列(吞吐/延迟/内存)

job.reader.poll_interval_ms

1. 参数概述

  • 参数名: job.reader.poll_interval_ms
  • 适用范围: MySQL CDC Source
  • 单位/类型: Long(毫秒)
  • 默认值: 500
  • 核心作用: 当 Debezium 队列为空时,poll 的休眠间隔。主要影响 CPU 使用率 与 空闲时延迟。

2. 适用场景

  • 低流量场景希望降低 CPU 占用。
  • 对“无数据时的尾部延迟”敏感(希望更快感知新数据)。

3. 调参建议 / 推荐配置

  • 默认推荐:保持默认。
  • 实时性优先:适当调小(例如 100~200),可能提升 CPU 占用。
  • 资源占用优先:适当调大(例如 1000~2000),可能增加空闲时的触发延迟。

4. 参数联动

  • 与 max_batch_size / max_queue_size 一起影响整体吞吐与内存。

5. FAQ(用户提问)

  • 问:调小是不是一定更实时?
    • 答:低流量下会更快轮询到新数据,但也会更耗 CPU;高流量下队列不空时影响不大。

6. 注意事项

  • 不建议在高流量任务上盲目调小,先观察 CPU/反压。

7. 总结说明

poll_interval_ms 用于平衡“空闲时延迟”和“CPU 占用”,大多数场景保持默认即可。

job.reader.max_batch_size

1. 参数概述

  • 参数名: job.reader.max_batch_size
  • 适用范围: MySQL CDC Source
  • 单位/类型: 整数
  • 默认值: 2048
  • 核心作用: 单次从 Debezium 队列 poll 的最大 batch。

2. 适用场景

  • 吞吐不足:希望提高单次处理批量。
  • 单次处理抖动/延迟高:希望降低单次 batch 带来的处理时延。

3. 调参建议 / 推荐配置

  • 吞吐优先:可适当调大(例如 4096~8192),可能增加单次处理时延。
  • 实时性优先:可适当调小(例如 512~1024),可能降低吞吐。

4. 参数联动

  • 与 max_queue_size 联动:batch 变大但 queue 过小,收益有限。

5. FAQ(用户提问)

  • 问:我调大后为什么反而延迟变高?
    • 答:batch 越大,单次处理越“重”,可能造成更明显的批处理延迟。

6. 注意事项

  • 建议结合下游 sink 的写入批量与反压表现综合评估。

7. 总结说明

max_batch_size 用来在吞吐与单次处理时延之间做权衡:调大更偏吞吐,调小更偏实时。

job.reader.max_queue_size

1. 参数概述

  • 参数名: job.reader.max_queue_size
  • 适用范围: MySQL CDC Source
  • 单位/类型: 整数
  • 默认值: 8192
  • 核心作用: Debezium 队列容量。影响 可缓冲事件量 和 内存占用。

2. 适用场景

  • 下游偶发抖动、希望队列能吸收短时反压。
  • 高吞吐场景希望扩大缓冲以减少上游阻塞。

3. 调参建议 / 推荐配置

  • 吞吐/抗抖动优先:适当调大(例如 16384~65536),注意内存。
  • 内存敏感:保持默认或调小,但可能更容易触发反压。

4. 参数联动

  • 与 max_batch_size、Flink 反压状态联动。

5. FAQ(用户提问)

  • 问:队列越大是不是越好?
    • 答:不是。队列越大内存越高,且可能增加数据在队列中的驻留时间。

6. 注意事项

  • 调大前建议评估 TaskManager/JVM 内存余量。

7. 总结说明

max_queue_size 是 CDC 事件的缓冲容量:调大更能抗抖动但更耗内存;默认值通常足够。

六、库表过滤(抓取范围)

job.reader.database_include_list

1. 参数概述

  • 参数名: job.reader.database_include_list
  • 适用范围: MySQL CDC Source
  • 单位/类型: List<String>
  • 默认值: 默认值请以当前产品配置为准(平台常根据选表自动生成)
  • 核心作用: 限定需要捕获的数据库集合(支持正则)。

2. 适用场景

  • 多库实例,只想抓取其中部分库。

3. 调参建议 / 推荐配置

  • 推荐使用平台自动生成。
  • 手动配置时,建议先从“精确库名”开始,再逐步引入正则。

4. 参数联动

  • 与 table_include_list 联动:更精确的表过滤通常用 table_include_list。

5. FAQ(用户提问)

  • 问:我配了 database_include_list,为什么还是抓不到表?
    • 答:可能是 table_include_list 更严格或未覆盖该表;建议同时检查表过滤。

6. 注意事项

  • 正则写法错误可能导致“抓不到任何数据”。

7. 总结说明

database_include_list 用于限定库范围,多库场景很常用;更细粒度建议配合 table_include_list。

job.reader.schema_include_list

1. 参数概述

  • 参数名: job.reader.schema_include_list
  • 适用范围: MySQL CDC Source
  • 单位/类型: List<String>
  • 默认值: 默认值请以当前产品配置为准
  • 核心作用: schema 过滤(MySQL 场景通常不常用,但保留兼容能力)。

2. 适用场景

  • 多 schema 概念的数据源兼容场景;MySQL 通常可忽略。

3. 调参建议 / 推荐配置

  • MySQL 多数场景无需配置。

4. 参数联动

  • 与 database/table include list 存在交集时,以实际过滤行为为准。

5. FAQ(用户提问)

  • 问:MySQL 里 schema 是什么?
    • 答:很多场景等价于 database。通常建议直接用 database/table include list。

6. 注意事项

  • 不清楚语义时不建议配置。

7. 总结说明

对 MySQL CDC 来说,schema_include_list 大多不需要配置;优先用 database/table include list。

job.reader.table_include_list

1. 参数概述

  • 参数名: job.reader.table_include_list
  • 适用范围: MySQL CDC Source
  • 单位/类型: List<String>(支持正则)
  • 默认值: 默认值请以当前产品配置为准(平台常根据选表自动生成)
  • 核心作用: 限定需要捕获的表集合,是 CDC 抓取范围的主要入口之一。

2. 适用场景

  • 多库多表,只抓取部分表。
  • 需要用正则批量匹配一类表(例如按前缀)。

3. 调参建议 / 推荐配置

  • 默认推荐:使用平台自动生成。
  • 手工正则:建议先写小范围,确认能抓到数据后再扩大。

4. 参数联动

  • 与在线 DDL 工具开关(ghost_enabled/pt_osc_enabled)联动:开启后可能会自动追加 include/exclude 规则以过滤影子表。

5. FAQ(用户提问)

  • 问:我想抓 db1.t1,应该怎么写?
    • 答:常见写法是 db1\\.t1(注意 . 在正则里需要转义)。

6. 注意事项

  • 正则里的 , 在某些解析链路中需要转义,建议配合 auto_escape_include_list_comma。

7. 总结说明le_include_list 是最常用的抓表过滤参数,建议优先让平台生成;手工写正则时循序渐进,避免一次性写太大范围。

job.reader.auto_escape_include_list_comma

1. 参数概述

  • 参数名: job.reader.auto_escape_include_list_comma
  • 适用范围: MySQL CDC Source
  • 单位/类型: Boolean
  • 默认值: true
  • 核心作用: 是否自动将 include list 中的 , 转义为 \\,,减少用户手工转义负担。

2. 适用场景

  • 你的正则里本身包含逗号(,)且经常因为转义问题导致过滤失效。

3. 调参建议 / 推荐配置

  • 默认推荐:保持 true。

4. 参数联动

  • 与 database_include_list / table_include_list 直接相关。

5. FAQ(用户提问)

  • 问:为什么我的 include list 一加逗号就报错或不生效?
    • 答:可能是解析层把逗号当作分隔符了。保持该参数为 true 通常能减少手动转义。

6. 注意事项

  • 如果你已经手工进行了复杂转义,改动该参数可能改变解析结果,建议小流量验证。

7. 总结说明

auto_escape_include_list_comma 是一个“降低正则踩坑概率”的开关,默认开启即可。

七、MySQL 隐式主键(GIPK)兼容

job.reader.sql_generate_invisible_primary_key

1. 参数概述

  • 参数名: job.reader.sql_generate_invisible_primary_key
  • 适用范围: MySQL CDC Source(MySQL 8.x)
  • 单位/类型: Boolean
  • 默认值: false
  • 核心作用: 开启后,会在连接时注入 on-connect SQL,以支持读取 MySQL 8.x 的隐式主键信息。

2. 适用场景

  • MySQL 8.x 环境使用了隐式主键能力,且你发现 CDC 读取到的表元数据缺失主键信息。

3. 调参建议 / 推荐配置

  • 仅在确实遇到“隐式主键元数据读取问题”时开启。

4. 参数联动

  • 与下游对主键/唯一键的依赖有关(例如需要主键做 upsert)。

5. FAQ(用户提问)

  • 问:不开会怎么样?
    • 答:可能导致主键信息缺失,进而影响下游依赖主键的处理(以实际链路为准)。

6. 注意事项

  • 这是偏“兼容性”的参数,不建议默认开启。

7. 总结说明

sql_generate_invisible_primary_key 用来解决 MySQL 8 隐式主键元数据读取问题,只有在明确需要时再开启。

job.reader.sql_generate_loose_invisible_primary_key

1. 参数概述

  • 参数名: job.reader.sql_generate_loose_invisible_primary_key
  • 适用范围: MySQL CDC Source(MySQL 5.7 兼容)
  • 单位/类型: Boolean
  • 默认值: false
  • 核心作用: 类似上一项,但针对 MySQL 5.7 的兼容开关。

2. 适用场景

  • MySQL 5.7 环境需要兼容读取隐式主键相关元数据时。

3. 调参建议 / 推荐配置

  • 仅在确实需要时开启。

4. 参数联动

  • 与 sql_generate_invisible_primary_key 二选一(按 MySQL 版本)。

5. FAQ(用户提问)

  • 问:两个参数要都开吗?
    • 答:通常按 MySQL 版本选择其一,避免不必要的连接行为变化。

6. 注意事项

  • 不建议默认开启。

7. 总结说明

sql_generate_loose_invisible_primary_key 是 MySQL 5.7 的兼容开关,只有遇到相关元数据问题时再启用。

八、在线 DDL 工具(gh-ost / pt-osc)识别与过滤

job.reader.ghost_enabled

1. 参数概述

  • 参数名: job.reader.ghost_enabled
  • 适用范围: MySQL CDC Source
  • 单位/类型: Boolean
  • 默认值: true
  • 核心作用: 是否启用 gh-ost 在线 DDL 识别。开启后会忽略 gh-ost 影子表相关事件,并追加过滤规则。

2. 适用场景

  • 线上使用 gh-ost 做 DDL 变更,且你不希望 CDC 把影子表当作真实业务表。

3. 调参建议 / 推荐配置

  • 默认推荐:保持开启。
  • 需要抓取影子表(非常少见):可关闭,但需承担噪声数据/DDL 事件干扰。

4. 参数联动

  • 与 table_include_list、ghost_*_pattern 联动。

5. FAQ(用户提问)

  • 问:为什么我发现多出一些 _gho/_ghc/_del 表的事件?
    • 答:可能未正确识别 gh-ost,建议检查是否开启 ghost_enabled 以及 pattern 是否匹配你的命名规则。

6. 注意事项

  • 不同团队的 gh-ost 命名可能不同,必要时调整 pattern。

7. 总结说明

ghost_enabled 用于屏蔽 gh-ost 在线 DDL 产生的影子表噪声,默认开启通常更符合生产预期。

job.reader.ghost_data_table_pattern

1. 参数概述

  • 参数名: job.reader.ghost_data_table_pattern
  • 适用范围: MySQL CDC Source
  • 单位/类型: 字符串(正则)
  • 默认值: ^.*\\._(.+)_gho$
  • 核心作用: gh-ost 数据表命名规则(要求包含原表名捕获组),用于从影子表映射回原表。

2. 适用场景

  • 你的 gh-ost 影子表命名不符合默认规则,导致识别失败。

3. 调参建议 / 推荐配置

  • 优先保持默认;只有在确认命名差异时再修改。

4. 参数联动

  • 仅在 ghost_enabled=true 时有意义。

5. FAQ(用户提问)

  • 问:为什么必须有捕获组?
    • 答:需要从影子表名中提取“原表名”,否则无法正确归因。

6. 注意事项

  • 修改正则前建议先用少量样例表名做匹配测试。

7. 总结说明

ghost_data_table_pattern 用来识别 gh-ost 的影子表并提取原表名,通常无需改动。

job.reader.ghost_exclude_table_pattern

1. 参数概述

  • 参数名: job.reader.ghost_exclude_table_pattern
  • 适用范围: MySQL CDC Source
  • 单位/类型: 字符串(正则)
  • 默认值: ^.*\\._.+_(?:ghc|del)$
  • 核心作用: gh-ost 排除表规则,用于识别 ghc/del 等中间表并过滤。

2. 适用场景

  • 影子表命名不符合默认规则,导致过滤不干净。

3. 调参建议 / 推荐配置

  • 仅在命名差异明确时修改。

4. 参数联动

  • 仅在 ghost_enabled=true 时有意义。

5. FAQ(用户提问)

  • 问:过滤不干净会怎样?
    • 答:会产生额外的表事件/DDL 噪声,影响下游。

6. 注意事项

  • 修改正则需谨慎,避免误伤真实表。

7. 总结说明

ghost_exclude_table_pattern 用来过滤 gh-ost 中间表,默认通常可用,只有命名不一致才需要调整。

job.reader.pt_osc_enabled

1. 参数概述

  • 参数名: job.reader.pt_osc_enabled
  • 适用范围: MySQL CDC Source
  • 单位/类型: Boolean
  • 默认值: false
  • 核心作用: 是否启用 pt-osc 在线 DDL 识别。开启后会忽略影子表相关事件并追加过滤规则。

2. 适用场景

  • 线上使用 pt-osc 做 DDL 变更,且你不希望 CDC 把影子表当作真实业务表。

3. 调参建议 / 推荐配置

  • 只有当你确认线上使用 pt-osc 时才建议开启。

4. 参数联动

  • 与 pt_osc_*_pattern 联动。

5. FAQ(用户提问)

  • 问:我开了之后为什么表变更事件少了?
    • 答:可能把影子表事件过滤掉了,这是预期行为。

6. 注意事项

  • 如果你既用 gh-ost 又用 pt-osc,需分别评估两个开关。

7. 总结说明

pt_osc_enabled 用于屏蔽 pt-osc 影子表噪声,仅在确实使用 pt-osc 的环境建议开启。

job.reader.pt_osc_include_table_pattern

1. 参数概述

  • 参数名: job.reader.pt_osc_include_table_pattern
  • 适用范围: MySQL CDC Source
  • 单位/类型: 字符串(正则)
  • 默认值: ^.*\\._(.+)_new$
  • 核心作用: pt-osc new 表命名规则(要求包含原表名捕获组)。

2. 适用场景

  • pt-osc 命名不符合默认规则导致识别失败。

3. 调参建议 / 推荐配置

  • 仅在命名差异明确时修改。

4. 参数联动

  • 仅在 pt_osc_enabled=true 时有意义。

5. FAQ(用户提问)

  • 问:为什么必须有捕获组?
    • 答:需要提取原表名来做归因处理。

6. 注意事项

  • 修改正则前建议先离线验证匹配结果。

7. 总结说明

pt_osc_include_table_pattern 用来识别 pt-osc new 表并提取原表名,通常无需改动。

job.reader.pt_osc_exclude_table_pattern

1. 参数概述

  • 参数名: job.reader.pt_osc_exclude_table_pattern
  • 适用范围: MySQL CDC Source
  • 单位/类型: 字符串(正则)
  • 默认值: ^.*\\._.+_old$
  • 核心作用: pt-osc old 表排除 pattern。

2. 适用场景

  • 影子表命名不一致导致过滤不干净。

3. 调参建议 / 推荐配置

  • 仅在命名差异明确时修改。

4. 参数联动

  • 仅在 pt_osc_enabled=true 时有意义。

5. FAQ(用户提问)

  • 问:过滤不干净会怎样?
    • 答:会把 old 表相关事件也输出,增加噪声。

6. 注意事项

  • 谨慎修改,避免误过滤真实表。

7. 总结说明

pt_osc_exclude_table_pattern 用于过滤 pt-osc old 表噪声,默认可用,命名不一致时再调整。

九、元数据字段输出(db_seq / ts_ms / src_meta_info 等)

job.reader.meta_db_seq_enabled

1. 参数概述

  • 参数名: job.reader.meta_db_seq_enabled
  • 适用范围: MySQL CDC Source
  • 单位/类型: Boolean
  • 默认值: true
  • 核心作用: 是否输出 _db_seq_ 元数据字段。

2. 适用场景

  • 下游希望使用序号/顺序字段做辅助去重、排障或审计。

3. 调参建议 / 推荐配置

  • 默认开启即可;若下游 schema 不允许新增列,可关闭。

4. 参数联动

  • 与下游落地表 schema、字段映射策略联动。

5. FAQ(用户提问)

  • 问:这个字段一定有用吗?
    • 答:不是必需字段,更多用于排障/辅助定位。下游不需要可以关闭。

6. 注意事项

  • 关闭后相关排障能力会减弱。

7. 总结说明a_db_seq_enabled 控制是否输出 _db_seq_ 辅助字段,下游不需要额外列时可关闭。

job.reader.meta_latency_timestamp_enabled

1. 参数概述

  • 参数名: job.reader.meta_latency_timestamp_enabled
  • 适用范围: MySQL CDC Source
  • 单位/类型: Boolean
  • 默认值: true
  • 核心作用: 是否输出延迟相关元数据字段(如 input_ms / ts_ms)。

2. 适用场景

  • 需要观测 CDC 延迟、排查堆积原因。

3. 调参建议 / 推荐配置

  • 默认开启;若下游 schema 严格且不接受额外列,可关闭。

4. 参数联动

  • 与监控/延迟分析体系联动。

5. FAQ(用户提问)

  • 问:我怎么用这些字段看延迟?
    • 答:常见做法是 now() - ts_ms(或 input_ms - ts_ms)评估端到端/处理延迟。

6. 注意事项

  • 关闭后延迟定位会更困难。

7. 总结说明

meta_latency_timestamp_enabled 决定是否输出用于延迟观测的字段,建议默认开启以方便排障。

job.reader.src_meta_info_column_enabled

1. 参数概述

  • 参数名: job.reader.src_meta_info_column_enabled
  • 适用范围: MySQL CDC Source
  • 单位/类型: Boolean
  • 默认值: false
  • 核心作用: 是否输出 _src_meta_info_ 元数据字段,用于标识来源实例/表信息,适合多路复用场景。

2. 适用场景

  • 多库多表、多任务合流写入同一 downstream,需要在记录级别保留来源信息。

3. 调参建议 / 推荐配置

  • 非多路复用场景保持关闭。
  • 多路复用场景开启,并与下游 schema 预留字段。

4. 参数联动

  • 与 job.reader.src_meta_info_column_name 联动。

5. FAQ(用户提问)

  • 问:开启后下游字段冲突怎么办?
    • 答:可以通过 src_meta_info_column_name 改字段名,或在下游做字段映射。

6. 注意事项

  • 会引入额外列,需确保下游可接收。

7. 总结说明

src_meta_info_column_enabled 用于在记录里带上来源信息,多路复用合流场景很有用,但需要下游支持新增列。

job.reader.src_meta_info_column_name

1. 参数概述

  • 参数名: job.reader.src_meta_info_column_name
  • 适用范围: MySQL CDC Source
  • 单位/类型: 字符串
  • 默认值: _src_meta_info_
  • 核心作用: 指定来源元信息字段的列名。

2. 适用场景

  • 下游已有同名字段或命名规范要求不同。

3. 调参建议 / 推荐配置

  • 默认即可;如需改名建议与下游字段命名规范保持一致。

4. 参数联动

  • 仅在 src_meta_info_column_enabled=true 时生效。
  • 与 job.common.cdc_multiplex_record_case_insensitive 有大小写联动:开启该开关时字段名可能被统一转大写(以产品实现为准)。

5. FAQ(用户提问)

  • 问:为什么我配置的小写字段名变成了大写?
    • 答:可能开启了 cdc_multiplex_record_case_insensitive,用于大小写兼容。

6. 注意事项

  • 改字段名需要同步下游 schema/映射。

7. 总结说明

src_meta_info_column_name 允许你自定义来源字段名,主要用于避免字段冲突或匹配下游命名规范。

十、反序列化与类型兼容

job.reader.enable_unified_seder_type

1. 参数概述

  • 参数名: job.reader.enable_unified_seder_type
  • 适用范围: MySQL CDC Source
  • 单位/类型: Boolean
  • 默认值: true
  • 核心作用: 是否启用“统一序列化/反序列化类型”。开启后优先使用 split 中记录的 schema datatype;关闭则更多从事件推断。

2. 适用场景

  • Schema 演进频繁、希望类型解析更稳定时。
  • 遇到类型推断不一致导致的下游 schema mismatch。

3. 调参建议 / 推荐配置

  • 默认推荐:保持开启。
  • 排障:若怀疑统一类型导致兼容问题,可临时关闭对比验证。

4. 参数联动

  • 与 type_properties、以及下游对类型严格程度相关。

5. FAQ(用户提问)

  • 问:关闭后是不是更“灵活”?
    • 答:可能更容易适配部分数据,但也可能带来推断不一致。建议以稳定为先。

6. 注意事项

  • 不建议在生产任务运行中频繁切换。

7. 总结说明

enable_unified_seder_type 用于提升类型解析稳定性,默认开启更稳;只有排查兼容问题时才建议临时关闭。

job.reader.add_zone_offset_to_zero_timestamp

1. 参数概述

  • 参数名: job.reader.add_zone_offset_to_zero_timestamp
  • 适用范围: MySQL CDC Source
  • 单位/类型: Boolean
  • 默认值: 引擎默认 false;部分产品模板可能会默认设为 true(请以当前产品配置为准)
  • 核心作用: 处理 0000-00-00 00:00:00 这类 zero timestamp。开启后会把 0 毫秒值加上本地时区 offset,降低下游解析异常概率。

2. 适用场景

  • 上游存在历史“零时间”数据,下游解析/落库经常失败(常见关键字:zero timestamp、invalid datetime)。

3. 调参建议 / 推荐配置

  • 默认推荐:当你确认上游有零时间数据且下游敏感时开启。
  • 排障:出现时间字段解析报错时,可先开启验证。

4. 参数联动

  • 与时区配置、下游时间类型(timestamp/datetime)处理有关。

5. FAQ(用户提问)

  • 问:开启会不会改变业务语义?
    • 答:会把“零时间”转成一个带时区 offset 的值,这属于兼容性折中,建议评估下游使用方式。

6. 注意事项

  • 这是“为了不中断而做的兼容”,不等价于修复源数据质量。

7. 总结说明

add_zone_offset_to_zero_timestamp 用于兼容 MySQL 的零时间值,能减少下游解析失败,但会带来一定语义折中,建议按需启用。

job.reader.type_properties

1. 参数概述

  • 参数名: job.reader.type_properties
  • 适用范围: MySQL CDC Source
  • 单位/类型: Map<String,String>
  • 默认值: 无
  • 核心作用: 类型转换相关的属性集合,用于影响部分字段类型映射(以产品支持为准)。

2. 适用场景

  • 你遇到“类型映射不符合预期”(例如 tinyint(1) 想映射 boolean)的场景。

3. 调参建议 / 推荐配置

  • 建议只放入必要的少量键,并记录变更原因。

4. 参数联动

  • 与 type_properties.tinyint_to_boolean(常见子项)联动。

5. FAQ(用户提问)

  • 问:type_properties 里能放哪些键?
    • 答:不同版本/产品支持不同,建议以平台文档/示例为准,避免自行猜测。

6. 注意事项

  • 不同类型策略可能影响下游表结构兼容与历史数据一致性。

7. 总结说明

type_properties 用于做类型映射的高级定制,建议谨慎、小范围使用。

job.reader.type_properties.tinyint_to_boolean

1. 参数概述

  • 参数名: job.reader.type_properties.tinyint_to_boolean
  • 适用范围: MySQL CDC Source
  • 单位/类型: Boolean
  • 默认值: false
  • 核心作用: 当列类型为 TINYINT(1) 时是否映射为 Boolean。

2. 适用场景

  • 历史表把布尔值用 TINYINT(1) 表达,下游希望得到 true/false。

3. 调参建议 / 推荐配置

  • 默认推荐:保持关闭。
  • 确实需要 boolean 语义:开启,但需同步下游 schema。

4. 参数联动

  • 与下游字段类型、历史数据回放兼容强相关。

5. FAQ(用户提问)

  • 问:开启后为什么下游字段类型冲突?
    • 答:下游可能仍按整数建表/解析,需要同步修改下游 schema 或映射。

6. 注意事项

  • 该参数可能影响历史数据一致性,建议在新链路或明确可控场景启用。

7. 总结说明

tinyint_to_boolean 用于把 TINYINT(1) 按布尔语义处理,只有当下游明确需要 boolean 且能同步 schema 时才建议开启。

十一、job.common.*(平台/运行时通用参数)

job.common.job_id

1. 参数概述

  • 参数名: job.common.job_id
  • 适用范围: 平台侧通用
  • 单位/类型: Long
  • 默认值: 通常由平台自动生成(无需用户配置)
  • 核心作用: 用于生成 server_name/server_id 的默认值等内部标识。

2. 适用场景

  • 多数用户无需关心;排障时可用来定位任务实例。

3. 调参建议 / 推荐配置

  • 不建议用户手动配置。

4. 参数联动

  • 与 identifier、server_name/server_id 默认生成逻辑相关。

5. FAQ(用户提问)

  • 问:我能改 job_id 来“重置任务”吗?
    • 答:不建议。job_id 通常由平台管理,手动改可能带来不可预期的任务标识混乱。

6. 注意事项

  • 以平台生成值为准。

7. 总结说明

job.common.job_id 一般由平台自动分配,用户无需配置,更多用于内部标识与排障定位。

job.common.metric_ttl

1. 参数概述

  • 参数名: job.common.metric_ttl
  • 适用范围: 通用运行时
  • 单位/类型: Integer
  • 默认值: -1(通常表示不过期,具体以产品语义为准)
  • 核心作用: SourceReader 指标 TTL,影响指标保留时长与可观测性。

2. 适用场景

  • 指标量很大导致存储/展示压力,希望限制保留时间。

3. 调参建议 / 推荐配置

  • 大多数场景保持默认。
  • 只有在监控/指标系统明确提示压力时才建议设置一个合理 TTL。

4. 参数联动

  • 与监控系统展示窗口、指标采集频率相关。

5. FAQ(用户提问)

  • 问:我设了 TTL 后看不到历史指标了?
    • 答:TTL 会让旧指标过期,这是预期行为。

6. 注意事项

  • TTL 太短会影响排障回溯。

7. 总结说明

metric_ttl 用于控制指标保留时长,大多数任务保持默认即可;只有在指标压力明显时再按需设置。

job.common.cdc_multiplex_record_case_insensitive

1. 参数概述

  • 参数名: job.common.cdc_multiplex_record_case_insensitive
  • 适用范围: 通用 CDC 多路复用
  • 单位/类型: Boolean
  • 默认值: true
  • 核心作用: 多路复用记录的大小写兼容开关;可能影响 _src_meta_info_ 等元数据字段名是否被统一转大写(以产品实现为准)。

2. 适用场景

  • 下游对字段大小写不敏感/希望兼容不同大小写规范。

3. 调参建议 / 推荐配置

  • 默认开启即可;只有当你明确需要保留字段原始大小写时才评估关闭。

4. 参数联动

  • 与 src_meta_info_column_name 等元数据字段命名联动。

5. FAQ(用户提问)

  • 问:我下游区分大小写,怎么办?
    • 答:需要评估是否关闭该开关,并同步下游字段映射策略。

6. 注意事项

  • 修改该参数可能影响字段映射与下游 schema 兼容,建议谨慎。

7. 总结说明

cdc_multiplex_record_case_insensitive 用于提升多路复用场景的大小写兼容性,默认开启更省心;需要严格大小写时再评估关闭。

最近更新时间:2026.05.07 14:11:24
这个页面对您有帮助吗?
有用
有用
无用
无用