diff --git a/ticdc/ticdc-changefeed-config.md b/ticdc/ticdc-changefeed-config.md index cc20d0dd8978..d955a569a6dc 100644 --- a/ticdc/ticdc-changefeed-config.md +++ b/ticdc/ticdc-changefeed-config.md @@ -207,8 +207,14 @@ max-log-size = 64 flush-interval = 2000 # redo log 使用存储服务的 URI。默认值为空。 storage = "" -# 是否将 redo log 存储到文件中。默认值为 false。 +# 是否将 redo log 存储到本地文件中。默认值为 false。 use-file-backend = false +# 控制 redo 模块中编解码 worker 的数量,默认值为 16。 +encoding-worker-num = 16 +# 控制 redo 模块中上传文件 worker 的数量,默认值为 8。 +flush-worker-num = 8 +# redo log 文件的压缩行为,可选值为 "" 和 "lz4"。默认值为 "",表示不进行压缩。 +compression = "" [integrity] # 是否开启单行数据的 Checksum 校验功能,默认值为 "none",即不开启。可选值为 "none" 和 "correctness"。 @@ -283,4 +289,18 @@ batching-max-messages=1000 batching-max-publish-delay=10 # Pulsar Producer 发送消息的超时时间,默认 30 秒。 send-timeout=30 + +[sink.cloud-storage-config] +# 向下游存储服务保存数据变更记录的并发度,默认值为 16。 +worker-count = 16 +# 向下游存储服务保存数据变更记录的间隔,默认值为 "2s"。 +flush-interval = "2s" +# 单个数据变更文件的字节数超过 `file-size` 时将其保存至存储服务中,默认值为 67108864,即 64 MiB。 +file-size = 67108864 +# 文件保留的时长,仅在 date-separator 配置为 day 时生效,默认值为 0,表示禁用文件清理。假设 `file-expiration-days = 1` 且 `file-cleanup-cron-spec = "0 0 0 * * *"`,TiCDC 将在每天 00:00:00 时刻清理已保存超过 24 小时的文件。例如,2023/12/02 00:00:00 将清理 2023/12/01 之前(注意:不包括 2023/12/01)的文件。 +file-expiration-days = 0 +# 定时清理任务的运行周期,与 crontab 配置兼容,格式为 ` `,默认值为 "0 0 2 * * *",表示每天凌晨两点执行清理任务 +file-cleanup-cron-spec = "0 0 2 * * *" +# 上传单个文件的并发数,默认值为 1,表示禁用并发。 +flush-concurrency = 1 ``` diff --git a/ticdc/ticdc-open-api-v2.md b/ticdc/ticdc-open-api-v2.md index 9f01c8f7b422..d9bf914d1f54 100644 --- a/ticdc/ticdc-open-api-v2.md +++ b/ticdc/ticdc-open-api-v2.md @@ -285,6 +285,9 @@ curl -X GET http://127.0.0.1:8300/api/v2/health | `level` | `STRING` 类型,同步数据的一致性级别。(非必选) | | `max_log_size` | `UINT64` 类型,redo log 的最大值。(非必选) | | `storage` | `STRING` 类型,存储的目标地址。(非必选) | +| `use_file_backend` | `BOOL` 类型,是否将 redo log 存储到本地文件中。(非必选) | +| `encoding_worker_num` | `INT` 类型,redo 模块中编解码 worker 的数量。(非必选)| +|`flush_worker_num` | `INT` 类型,redo 模块中上传文件 worker 的数量。(非必选) | `filter` 参数说明如下: @@ -330,6 +333,7 @@ curl -X GET http://127.0.0.1:8300/api/v2/health | `terminator` | `STRING` 类型,换行符,用来分隔两个数据变更事件。默认值为空,表示使用 `"\r\n"` 作为换行符。(非必选) | | `transaction_atomicity` | `STRING` 类型,事务一致性等级。(非必选) | | `only_output_updated_columns` | `BOOLEAN` 类型,对于 MQ 类型的 Sink 中的 `canal-json` 和 `open-protocol`,表示是否只向下游同步有内容更新的列。默认值为 `false`。(非必选) | +| `cloud_storage_config` | storage sink 配置。(非必选) | `sink.column_selectors` 是一个数组,元素参数说明如下: @@ -340,12 +344,13 @@ curl -X GET http://127.0.0.1:8300/api/v2/health `sink.csv` 参数说明如下: -| 参数名 | 说明 | -|:--------------------|:------------------------------------------------| -| `delimiter` | `STRING` 类型,字段之间的分隔符。必须为 ASCII 字符,默认值为 `,`。 | -| `include_commit_ts` | `BOOLEAN` 类型,是否在 CSV 行中包含 commit-ts。默认值为 `false`。 | -| `null` | `STRING` 类型,如果这一列是 null,那这一列该如何表示。默认是用 `\N` 来表示。 | -| `quote` | `STRING` 类型,用于包裹字段的引号字符。空值代表不使用引号字符。默认值为 `"`。 | +| 参数名 | 说明 | +|:-------------------------|:------------------------------------------------| +| `delimiter` | `STRING` 类型,字段之间的分隔符。必须为 ASCII 字符,默认值为 `,`。 | +| `include_commit_ts` | `BOOLEAN` 类型,是否在 CSV 行中包含 commit-ts。默认值为 `false`。 | +| `null` | `STRING` 类型,如果这一列是 null,那这一列该如何表示。默认是用 `\N` 来表示。 | +| `quote` | `STRING` 类型,用于包裹字段的引号字符。空值代表不使用引号字符。默认值为 `"`。 | +| `binary_encoding_method` | `STRING` 类型,二进制类型数据的编码方式,可选 `"base64"` 或 `"hex"`。默认值为 `"base64"`。 | `sink.dispatchers`:对于 MQ 类的 Sink,可以通过该参数配置 event 分发器,支持以下分发器:`default`、`ts`、`rowid`、`table` 。分发规则如下: @@ -362,6 +367,17 @@ curl -X GET http://127.0.0.1:8300/api/v2/health | `partition` | `STRING` 类型,事件分发的目标 partition。 | | `topic` | `STRING` 类型,事件分发的目标 topic。 | +`sink.cloud_storage_config` 参数说明如下: + +| 参数名 | 说明 | +|:------------|:----------------------------------| +| `worker_count` | `INT` 类型,向下游存储服务保存数据变更记录的并发度。 | +| `flush_interval` | `STRING` 类型,向下游存储服务保存数据变更记录的间隔。 | +| `file_size` | `INT` 类型,单个数据变更文件的字节数超过 `file-size` 时将其保存至存储服务中。 | +| `file_expiration_days` | `INT` 类型,文件保留的时长。| +| `file_cleanup_cron_spec` | `STRING` 类型,定时清理任务的运行周期,与 crontab 配置兼容,格式为 ` `。| +| `flush_concurrency` | `INT` 类型,上传单个文件的并发数。| + ### 使用样例 以下请求会创建一个 ID 为 `test5`,sink_uri 为 `blackhole://` 的同步任务。 diff --git a/ticdc/ticdc-server-config.md b/ticdc/ticdc-server-config.md index 2c45f739cf8e..4b2f2eaae2d2 100644 --- a/ticdc/ticdc-server-config.md +++ b/ticdc/ticdc-server-config.md @@ -40,6 +40,8 @@ data-dir = "" gc-ttl = 86400 # 24 h tz = "System" cluster-id = "default" +# 控制 GOGC Tuner 自动调节的最大内存阈值(单位为 byte):设置较小的阈值会提高 GC 频率;设置较大的阈值会降低 GC 频率并使 TiCDC 进程占用更多的内存资源;超过阈值后 GOGC Tuner 会停止工作。默认值为 0,表示禁用 GOGC Tuner。 +gc-tuner-memory-threshold = 0 [security] ca-path = ""