From 2fe6d78f3f11a2a126a527f77581e469e6fffac5 Mon Sep 17 00:00:00 2001 From: Neil Shen Date: Fri, 19 Jun 2020 16:12:44 +0800 Subject: [PATCH 1/8] ticdc: add doc about config Signed-off-by: Neil Shen --- ticdc/manage-ticdc.md | 60 +++++++++++++++++++++++++++++++++++++ ticdc/troubleshoot-ticdc.md | 4 +++ 2 files changed, 64 insertions(+) diff --git a/ticdc/manage-ticdc.md b/ticdc/manage-ticdc.md index 9783f5b65603..57d91c0c58cc 100644 --- a/ticdc/manage-ticdc.md +++ b/ticdc/manage-ticdc.md @@ -150,6 +150,18 @@ create changefeed ID: 28c43ffc-2316-4f4f-a70b-d1a7c59ba79f info {"sink-uri":"mys | `max-message-bytes` | 每次向 Kafka broker 发送消息的最大数据量(可选,默认值 `64MB`) | | `replication-factor` | kafka 消息保存副本数(可选,默认值 `1`) | +如需设置更多同步任务的配置,比如指定同步单个数据表,请参阅[同步任务配置文件描述](#同步任务配置文件描述)。 + +使用方法如下: + +{{< copyable "shell-regular" >}} + +```shell +cdc cli changefeed create --pd=http://10.0.10.25:2379 --sink-uri="mysql://root:123456@127.0.0.1:3306/" --config changefeed.toml +``` + +其中 “changefeed.toml” 为同步任务的配置文件。 + #### 查询同步任务列表 使用以下命令来查询同步任务列表: @@ -351,6 +363,54 @@ curl -X POST http://127.0.0.1:8301/capture/owner/resign election: not leader ``` +## 同步任务配置文件描述 + +以下内容详细介绍了同步任务的配置。 + +```toml +# 指定配置文件中涉及的库名、表名是否为大小写敏感的 +# 该配置会同时影响 filter 和 sink 相关配置,默认为 true +case-sensitive = true + +[filter] +# 忽略指定 StartTs 的事务 +ignore-txn-start-ts = [1, 2] + +# 过滤器规则 +# 过滤规则语法: https://github.com/pingcap/tidb-tools/tree/master/pkg/table-filter#syntax +rules = ['*.*', '!test.*'] + +[mounter] +# mounter 线程数,用于解码 TiKV 输出的数据 +worker-num = 16 + +[sink] +# 对于 MQ 类的 Sink,可以通过 dispatchers 配置 event 分发器 +# 分发器支持 default, ts, rowid, table 四种 +dispatchers = [ + {matcher = ['test1.*', 'test2.*'], dispatcher = "ts"}, + {matcher = ['test3.*', 'test4.*'], dispatcher = "rowid"}, +] +# 对于 MQ 类的 Sink,可以指定消息的协议格式 +# 协议目前支持 default, canal 两种,default 为 ticdc-open-protocol +protocol = "default" + +[cyclic-replication] +# 是否开启环形复制 +enable = false +# 当前 CDC 的复制 ID +replica-id = 1 +# 需要过滤掉的复制 ID +filter-replica-ids = [2,3] +# 是否同步 DDL +sync-ddl = true +``` + +### 配置文件兼容注意事项 + +* 4.0.0 移除了 `ignore-txn-commit-ts`,添加了 `ignore-txn-start-ts`,使用 start ts 过滤事务。 +* 4.0.0 移除了 `db-dbs`/`db-tables`/`ignore-dbs`/`ignore-tables`,添加了 `rules`,使用新版的数据库数据表过滤规则,[详细语法参考](https://github.com/pingcap/tidb-tools/blob/master/pkg/table-filter/README.md)。 + ## 环形同步 > **警告:** diff --git a/ticdc/troubleshoot-ticdc.md b/ticdc/troubleshoot-ticdc.md index a2655327c670..b15148a53fa3 100644 --- a/ticdc/troubleshoot-ticdc.md +++ b/ticdc/troubleshoot-ticdc.md @@ -56,3 +56,7 @@ cdc cli changefeed create --pd=http://10.0.10.25:2379 --start-ts=415238226621235 > **注意:** > > TiCDC(4.0 发布版本)还不支持动态修改文件排序和内存排序。 + +## 升级 TiCDC 后配置文件不兼容 + +请参阅[配置文件兼容注意事项](/ticdc/manage-ticdc.md#配置文件兼容注意事项)。 From b52ad9044862a697eb5592e8a1b6eef3d06fcaba Mon Sep 17 00:00:00 2001 From: Neil Shen Date: Fri, 19 Jun 2020 16:32:58 +0800 Subject: [PATCH 2/8] no tabs Signed-off-by: Neil Shen --- ticdc/manage-ticdc.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ticdc/manage-ticdc.md b/ticdc/manage-ticdc.md index 57d91c0c58cc..cb59145591ae 100644 --- a/ticdc/manage-ticdc.md +++ b/ticdc/manage-ticdc.md @@ -388,8 +388,8 @@ worker-num = 16 # 对于 MQ 类的 Sink,可以通过 dispatchers 配置 event 分发器 # 分发器支持 default, ts, rowid, table 四种 dispatchers = [ - {matcher = ['test1.*', 'test2.*'], dispatcher = "ts"}, - {matcher = ['test3.*', 'test4.*'], dispatcher = "rowid"}, + {matcher = ['test1.*', 'test2.*'], dispatcher = "ts"}, + {matcher = ['test3.*', 'test4.*'], dispatcher = "rowid"}, ] # 对于 MQ 类的 Sink,可以指定消息的协议格式 # 协议目前支持 default, canal 两种,default 为 ticdc-open-protocol From c72402e8b3239682f7c83d6432fbfe13d71cf9ba Mon Sep 17 00:00:00 2001 From: Neil Shen Date: Mon, 22 Jun 2020 12:57:33 +0800 Subject: [PATCH 3/8] Update ticdc/manage-ticdc.md Co-authored-by: amyangfei --- ticdc/manage-ticdc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ticdc/manage-ticdc.md b/ticdc/manage-ticdc.md index cb59145591ae..120a248f079a 100644 --- a/ticdc/manage-ticdc.md +++ b/ticdc/manage-ticdc.md @@ -409,7 +409,7 @@ sync-ddl = true ### 配置文件兼容注意事项 * 4.0.0 移除了 `ignore-txn-commit-ts`,添加了 `ignore-txn-start-ts`,使用 start ts 过滤事务。 -* 4.0.0 移除了 `db-dbs`/`db-tables`/`ignore-dbs`/`ignore-tables`,添加了 `rules`,使用新版的数据库数据表过滤规则,[详细语法参考](https://github.com/pingcap/tidb-tools/blob/master/pkg/table-filter/README.md)。 +* 4.0.2 移除了 `db-dbs`/`db-tables`/`ignore-dbs`/`ignore-tables`,添加了 `rules`,使用新版的数据库数据表过滤规则,[详细语法参考](https://github.com/pingcap/tidb-tools/blob/master/pkg/table-filter/README.md)。 ## 环形同步 From 88276c0baa6a6cf03aace2e79314a928e6d36757 Mon Sep 17 00:00:00 2001 From: Neil Shen Date: Tue, 23 Jun 2020 17:39:17 +0800 Subject: [PATCH 4/8] Update ticdc/manage-ticdc.md Co-authored-by: leoppro --- ticdc/manage-ticdc.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ticdc/manage-ticdc.md b/ticdc/manage-ticdc.md index 120a248f079a..86044780c9ed 100644 --- a/ticdc/manage-ticdc.md +++ b/ticdc/manage-ticdc.md @@ -149,6 +149,7 @@ create changefeed ID: 28c43ffc-2316-4f4f-a70b-d1a7c59ba79f info {"sink-uri":"mys | `partition-num` | 下游 Kafka partition 数量(可选,不能大于实际 partition 数量。如果不填会自动获取 partition 数量。) | | `max-message-bytes` | 每次向 Kafka broker 发送消息的最大数据量(可选,默认值 `64MB`) | | `replication-factor` | kafka 消息保存副本数(可选,默认值 `1`) | + | `protocol` | 输出到 kafka 消息协议,可选值 default, canal(可选,默认值 `default`) | 如需设置更多同步任务的配置,比如指定同步单个数据表,请参阅[同步任务配置文件描述](#同步任务配置文件描述)。 From 16bd86bfef723f242c9d4a0101e5b22134057073 Mon Sep 17 00:00:00 2001 From: Neil Shen Date: Sun, 28 Jun 2020 15:00:44 +0800 Subject: [PATCH 5/8] Apply suggestions from code review Co-authored-by: TomShawn <41534398+TomShawn@users.noreply.github.com> --- ticdc/manage-ticdc.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/ticdc/manage-ticdc.md b/ticdc/manage-ticdc.md index d5f6ffe6e266..23809072e07a 100644 --- a/ticdc/manage-ticdc.md +++ b/ticdc/manage-ticdc.md @@ -149,7 +149,7 @@ create changefeed ID: 28c43ffc-2316-4f4f-a70b-d1a7c59ba79f info {"sink-uri":"mys | `partition-num` | 下游 Kafka partition 数量(可选,不能大于实际 partition 数量。如果不填会自动获取 partition 数量。) | | `max-message-bytes` | 每次向 Kafka broker 发送消息的最大数据量(可选,默认值 `64MB`) | | `replication-factor` | kafka 消息保存副本数(可选,默认值 `1`) | - | `protocol` | 输出到 kafka 消息协议,可选值 default, canal(可选,默认值 `default`) | + | `protocol` | 输出到 kafka 消息协议,可选值有 `default`, `canal`(默认值为 `default`) | 如需设置更多同步任务的配置,比如指定同步单个数据表,请参阅[同步任务配置文件描述](#同步任务配置文件描述)。 @@ -161,7 +161,7 @@ create changefeed ID: 28c43ffc-2316-4f4f-a70b-d1a7c59ba79f info {"sink-uri":"mys cdc cli changefeed create --pd=http://10.0.10.25:2379 --sink-uri="mysql://root:123456@127.0.0.1:3306/" --config changefeed.toml ``` -其中 “changefeed.toml” 为同步任务的配置文件。 +其中 `changefeed.toml` 为同步任务的配置文件。 #### 查询同步任务列表 @@ -376,16 +376,16 @@ election: not leader 以下内容详细介绍了同步任务的配置。 ```toml -# 指定配置文件中涉及的库名、表名是否为大小写敏感的 +# 指定配置文件中涉及的库名、表名是否为大小写敏感 # 该配置会同时影响 filter 和 sink 相关配置,默认为 true case-sensitive = true [filter] -# 忽略指定 StartTs 的事务 +# 忽略指定 start_ts 的事务 ignore-txn-start-ts = [1, 2] # 过滤器规则 -# 过滤规则语法: https://github.com/pingcap/tidb-tools/tree/master/pkg/table-filter#syntax +# 过滤规则语法:https://github.com/pingcap/tidb-tools/tree/master/pkg/table-filter#syntax rules = ['*.*', '!test.*'] [mounter] @@ -394,30 +394,30 @@ worker-num = 16 [sink] # 对于 MQ 类的 Sink,可以通过 dispatchers 配置 event 分发器 -# 分发器支持 default, ts, rowid, table 四种 +# 分发器支持 default、ts、rowid、table 四种 dispatchers = [ {matcher = ['test1.*', 'test2.*'], dispatcher = "ts"}, {matcher = ['test3.*', 'test4.*'], dispatcher = "rowid"}, ] # 对于 MQ 类的 Sink,可以指定消息的协议格式 -# 协议目前支持 default, canal 两种,default 为 ticdc-open-protocol +# 目前支持 default 和 canal 两种协议。default 为 TiCDC Open Protocol protocol = "default" [cyclic-replication] -# 是否开启环形复制 +# 是否开启环形同步 enable = false -# 当前 CDC 的复制 ID +# 当前 TiCDC 的复制 ID replica-id = 1 -# 需要过滤掉的复制 ID +# 需要过滤掉的同步 ID filter-replica-ids = [2,3] # 是否同步 DDL sync-ddl = true ``` -### 配置文件兼容注意事项 +### 配置文件兼容性的注意事项 -* 4.0.0 移除了 `ignore-txn-commit-ts`,添加了 `ignore-txn-start-ts`,使用 start ts 过滤事务。 -* 4.0.2 移除了 `db-dbs`/`db-tables`/`ignore-dbs`/`ignore-tables`,添加了 `rules`,使用新版的数据库数据表过滤规则,[详细语法参考](https://github.com/pingcap/tidb-tools/blob/master/pkg/table-filter/README.md)。 +* TiCDC v4.0.0 中移除了 `ignore-txn-commit-ts`,添加了 `ignore-txn-start-ts`,使用 start_ts 过滤事务。 +* TiCDC v4.0.2 中移除了 `db-dbs`/`db-tables`/`ignore-dbs`/`ignore-tables`,添加了 `rules`,使用新版的数据库和数据表过滤规则,详细语法参考 [Table Filter](https://github.com/pingcap/tidb-tools/blob/master/pkg/table-filter/README.md)。 ## 环形同步 From 16f388ac20e2bbb1a68d6e3e865221e8cba5d147 Mon Sep 17 00:00:00 2001 From: Neil Shen Date: Mon, 29 Jun 2020 16:03:42 +0800 Subject: [PATCH 6/8] Update ticdc/manage-ticdc.md Co-authored-by: TomShawn <41534398+TomShawn@users.noreply.github.com> --- ticdc/manage-ticdc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ticdc/manage-ticdc.md b/ticdc/manage-ticdc.md index 23809072e07a..5028c7da1e35 100644 --- a/ticdc/manage-ticdc.md +++ b/ticdc/manage-ticdc.md @@ -394,7 +394,7 @@ worker-num = 16 [sink] # 对于 MQ 类的 Sink,可以通过 dispatchers 配置 event 分发器 -# 分发器支持 default、ts、rowid、table 四种 +# 支持 default、ts、rowid、table 四种分发器 dispatchers = [ {matcher = ['test1.*', 'test2.*'], dispatcher = "ts"}, {matcher = ['test3.*', 'test4.*'], dispatcher = "rowid"}, From 394c51611dd742503fd7031700c12bff51035a40 Mon Sep 17 00:00:00 2001 From: Neil Shen Date: Fri, 3 Jul 2020 12:51:23 +0800 Subject: [PATCH 7/8] Update ticdc/manage-ticdc.md --- ticdc/manage-ticdc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ticdc/manage-ticdc.md b/ticdc/manage-ticdc.md index 5028c7da1e35..74d00ade8960 100644 --- a/ticdc/manage-ticdc.md +++ b/ticdc/manage-ticdc.md @@ -153,7 +153,7 @@ create changefeed ID: 28c43ffc-2316-4f4f-a70b-d1a7c59ba79f info {"sink-uri":"mys 如需设置更多同步任务的配置,比如指定同步单个数据表,请参阅[同步任务配置文件描述](#同步任务配置文件描述)。 -使用方法如下: +使用配置文件创建同步任务的方法如下: {{< copyable "shell-regular" >}} From 9475e707e1be51425ebf9e89f71a308d8d39cdd0 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Fri, 3 Jul 2020 14:27:43 +0800 Subject: [PATCH 8/8] Update ticdc/troubleshoot-ticdc.md --- ticdc/troubleshoot-ticdc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ticdc/troubleshoot-ticdc.md b/ticdc/troubleshoot-ticdc.md index e4163f96b2b3..c6254fcea712 100644 --- a/ticdc/troubleshoot-ticdc.md +++ b/ticdc/troubleshoot-ticdc.md @@ -112,4 +112,4 @@ cdc cli changefeed create --sink-uri="mysql://root@127.0.0.1:3306/" --tz=Asia/Sh ## 升级 TiCDC 后配置文件不兼容 -请参阅[配置文件兼容注意事项](/ticdc/manage-ticdc.md#配置文件兼容注意事项)。 +请参阅[配置文件兼容注意事项](/ticdc/manage-ticdc.md#配置文件兼容性的注意事项)。