From e8709778964980fea0152b11994221f7befeb4d6 Mon Sep 17 00:00:00 2001 From: WangXiangUSTC Date: Tue, 26 May 2020 18:03:07 +0800 Subject: [PATCH 01/16] update ticdc --- TOC.md | 7 +- ...open-protocol.md => ticdc-open-protocol.md | 80 ++++++- ticdc/ticdc-overview.md => ticdc-overview.md | 0 ticdc/column-ddl-type-codes.md | 83 ------- ticdc/manage-ticdc.md | 211 +++++++++++------- ticdc/sink-url.md | 58 ----- ...bleshoot-ticdc.md => troubleshoot-ticdc.md | 0 7 files changed, 218 insertions(+), 221 deletions(-) rename ticdc/ticdc-open-protocol.md => ticdc-open-protocol.md (70%) rename ticdc/ticdc-overview.md => ticdc-overview.md (100%) delete mode 100644 ticdc/column-ddl-type-codes.md delete mode 100644 ticdc/sink-url.md rename ticdc/troubleshoot-ticdc.md => troubleshoot-ticdc.md (100%) diff --git a/TOC.md b/TOC.md index 7d01050e3683..21dde9278acc 100644 --- a/TOC.md +++ b/TOC.md @@ -74,7 +74,7 @@ + [使用 BR 进行备份与恢复](/br/backup-and-restore-tool.md) @栾成 + [BR 备份与恢复场景示例](/br/backup-and-restore-use-cases.md) @栾成 + [日常巡检](/daily-inspection.md) @王军 - + [TiCDC 任务管理](/ticdc/manage-ticdc.md) @沈泰宁 + + [TiCDC 任务管理](/manage-ticdc.md) @沈泰宁 + [TiUP 常用运维操作](/maintain-tidb-using-tiup.md) @王贤净 + [TiFlash 常用运维操作](/tiflash/maintain-tiflash.md) @雷宇 + 监控与告警 @@ -102,7 +102,7 @@ + [磁盘 I/O 过高](/troubleshoot-high-disk-io.md) @陶政 + [锁冲突与 TTL 超时](/troubleshoot-lock-conflicts.md) @高振娇 + [从性能监控分析问题](/performance-tuning-monitor.md) @李坤 - + [TiCDC 常见问题](/ticdc/troubleshoot-ticdc.md) @杨非 + + [TiCDC 常见问题](/troubleshoot-ticdc.md) @杨非 + [TiFlash 常见问题](/tiflash/troubleshoot-tiflash.md) @孙若曦 + 性能调优 + 系统调优 @@ -421,6 +421,7 @@ + TiKV + [RocksDB 简介](/rocksdb/rocksdb-overview.md) + TiFlash + + [TiCDC](/ticdc-overview.md) + [错误码](/error-codes.md) @于帅鹏 + 常见问题解答 (FAQ) + [产品 FAQ](/faq/tidb-faq.md) @荣毅龙/启航 @@ -430,6 +431,8 @@ + [License FAQ](/faq/licensing-faq.md) @荣毅龙/启航 + [高可用 FAQ](/faq/high-availability-faq.md) @荣毅龙/启航 + [高可靠 FAQ](/faq/high-reliability-faq.md) @荣毅龙/启航 ++ [开发指南] + + [TiCDC 开放数据协议](/ticdc-open-protocol.md) + [术语表](/glossary.md) @李琳 + [版本发布历史](/releases/release-notes.md) + v4.0 diff --git a/ticdc/ticdc-open-protocol.md b/ticdc-open-protocol.md similarity index 70% rename from ticdc/ticdc-open-protocol.md rename to ticdc-open-protocol.md index 7a6d29a0e191..589b1c195837 100644 --- a/ticdc/ticdc-open-protocol.md +++ b/ticdc-open-protocol.md @@ -125,7 +125,7 @@ Value: | 参数 | 类型 | 说明 | | :-------- | :----- | :------------ | | DDL Query | String | DDL Query SQL | - | DDL Type | String | DDL 类型,详见:[Column 和 DDL 的类型码](/ticdc/column-ddl-type-codes.md) | + | DDL Type | String | DDL 类型,详见:[Column 和 DDL 的类型码](#Column-和-DDL-的类型码) | ### Resolved Event @@ -212,3 +212,81 @@ COMMIT; 13. [partition=0] [key="{\"ts\":415508881038376963,\"t\":3}"] [value=] 14. [partition=1] [key="{\"ts\":415508881038376963,\"t\":3}"] [value=] ``` + +## Column 和 DDL 的类型码 + +Column 和 DDL 的类型码是由 TiCDC Open Protocol 定义的 Column 和 DDL 类型编码,Column Type Code 标识 Row Changed Event 中的列数据类型,DDL Type Code 标识 DDL Event 中的 DDL 语句类型。 + +### Column Type Code + +| 类型 | Code | 输出示例 | 说明 | +| :---------- | :--- | :------ | :-- | +| Decimal | 0 | {"t":0,"v":"129012.1230000"} | | +| Tiny/Bool | 1 | {"t":1,"v":1} | | +| Short | 2 | {"t":2,"v":1} | | +| Long | 3 | {"t":3,"v":123} | | +| Float | 4 | {"t":4,"v":153.123} | | +| Double | 5 | {"t":5,"v":153.123} | | +| Null | 6 | {"t":6,"v":null} | | +| Timestamp | 7 | {"t":7,"v":"1973-12-30 15:30:00"} | | +| Longlong | 8 | {"t":8,"v":123} | | +| Int24 | 9 | {"t":9,"v":123} | | +| Date | 10 | {"t":10,"v":"2000-01-01"} | | +| Duration | 11 | {"t":11,"v":"23:59:59"} | | +| Datetime | 12 | {"t":12,"v":"2015-12-20 23:58:58"} | | +| Year | 13 | {"t":13,"v":1970} | | +| New Date | 14 | {"t":14,"v":"2000-01-01"} | | +| Varchar | 15 | {"t":15,"v":"测试"} | value 编码为 UTF-8 | +| Bit | 16 | {"t":16,"v":81} | | +| JSON | 245 | {"t":245,"v":"{\\"key1\\": \\"value1\\"}"} | | +| New Decimal | 246 | {"t":246,"v":"129012.1230000"} | | +| Enum | 247 | {"t":247,"v":1} | | +| Set | 248 | {"t":248,"v":3} | | +| Tiny Blob | 249 | {"t":249,"v":"5rWL6K+VdGV4dA=="} | value 编码为 Base64 | +| Medium Blob | 250 | {"t":250,"v":"5rWL6K+VdGV4dA=="} | value 编码为 Base64 | +| Long Blob | 251 | {"t":251,"v":"5rWL6K+VdGV4dA=="} | value 编码为 Base64 | +| Blob | 252 | {"t":252,"v":"5rWL6K+VdGV4dA=="} | value 编码为 Base64 | +| Var String | 253 | {"t":253,"v":"测试"} | value 编码为 UTF-8 | +| String | 254 | {"t":254,"v":"测试"} | value 编码为 UTF-8 | +| Geometry | 255 | | 尚不支持 | + +### DDL Type Code + +| 类型 | Code | +| :-------------------------------- | :- | +| Create Schema | 1 | +| Drop Schema | 2 | +| Create Table | 3 | +| Drop Table | 4 | +| Add Column | 5 | +| Drop Column | 6 | +| Add Index | 7 | +| Drop Index | 8 | +| Add Foreign Key | 9 | +| Drop Foreign Key | 10 | +| Truncate Table | 11 | +| Modify Column | 12 | +| Rebase Auto ID | 13 | +| Rename Table | 14 | +| Set Default Value | 15 | +| Shard RowID | 16 | +| Modify Table Comment | 17 | +| Rename Index | 18 | +| Add Table Partition | 19 | +| Drop Table Partition | 20 | +| Create View | 21 | +| Modify Table Charset And Collate | 22 | +| Truncate Table Partition | 23 | +| Drop View | 24 | +| Recover Table | 25 | +| Modify Schema Charset And Collate | 26 | +| Lock Table | 27 | +| Unlock Table | 28 | +| Repair Table | 29 | +| Set TiFlash Replica | 30 | +| Update TiFlash Replica Status | 31 | +| Add Primary Key | 32 | +| Drop Primary Key | 33 | +| Create Sequence | 34 | +| Alter Sequence | 35 | +| Drop Sequence | 36 | \ No newline at end of file diff --git a/ticdc/ticdc-overview.md b/ticdc-overview.md similarity index 100% rename from ticdc/ticdc-overview.md rename to ticdc-overview.md diff --git a/ticdc/column-ddl-type-codes.md b/ticdc/column-ddl-type-codes.md deleted file mode 100644 index 8a5a858458e8..000000000000 --- a/ticdc/column-ddl-type-codes.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: Column 和 DDL 的类型码 -category: reference -aliases: ['/docs-cn/dev/reference/tools/ticdc/column-ddl-type/'] ---- - -# Column 和 DDL 的类型码 - -Column 和 DDL 的类型码是由 [TiCDC Open Protocol](/ticdc/ticdc-open-protocol.md) 定义的 Column 和 DDL 类型编码,Column Type Code 标识 Row Changed Event 中的列数据类型,DDL Type Code 标识 DDL Event 中的 DDL 语句类型。 - -## Column Type Code - -| 类型 | Code | 输出示例 | 说明 | -| :---------- | :--- | :------ | :-- | -| Decimal | 0 | {"t":0,"v":"129012.1230000"} | | -| Tiny/Bool | 1 | {"t":1,"v":1} | | -| Short | 2 | {"t":2,"v":1} | | -| Long | 3 | {"t":3,"v":123} | | -| Float | 4 | {"t":4,"v":153.123} | | -| Double | 5 | {"t":5,"v":153.123} | | -| Null | 6 | {"t":6,"v":null} | | -| Timestamp | 7 | {"t":7,"v":"1973-12-30 15:30:00"} | | -| Longlong | 8 | {"t":8,"v":123} | | -| Int24 | 9 | {"t":9,"v":123} | | -| Date | 10 | {"t":10,"v":"2000-01-01"} | | -| Duration | 11 | {"t":11,"v":"23:59:59"} | | -| Datetime | 12 | {"t":12,"v":"2015-12-20 23:58:58"} | | -| Year | 13 | {"t":13,"v":1970} | | -| New Date | 14 | {"t":14,"v":"2000-01-01"} | | -| Varchar | 15 | {"t":15,"v":"测试"} | value 编码为 UTF-8 | -| Bit | 16 | {"t":16,"v":81} | | -| JSON | 245 | {"t":245,"v":"{\\"key1\\": \\"value1\\"}"} | | -| New Decimal | 246 | {"t":246,"v":"129012.1230000"} | | -| Enum | 247 | {"t":247,"v":1} | | -| Set | 248 | {"t":248,"v":3} | | -| Tiny Blob | 249 | {"t":249,"v":"5rWL6K+VdGV4dA=="} | value 编码为 Base64 | -| Medium Blob | 250 | {"t":250,"v":"5rWL6K+VdGV4dA=="} | value 编码为 Base64 | -| Long Blob | 251 | {"t":251,"v":"5rWL6K+VdGV4dA=="} | value 编码为 Base64 | -| Blob | 252 | {"t":252,"v":"5rWL6K+VdGV4dA=="} | value 编码为 Base64 | -| Var String | 253 | {"t":253,"v":"测试"} | value 编码为 UTF-8 | -| String | 254 | {"t":254,"v":"测试"} | value 编码为 UTF-8 | -| Geometry | 255 | | 尚不支持 | - -## DDL Type Code - -| 类型 | Code | -| :-------------------------------- | :- | -| Create Schema | 1 | -| Drop Schema | 2 | -| Create Table | 3 | -| Drop Table | 4 | -| Add Column | 5 | -| Drop Column | 6 | -| Add Index | 7 | -| Drop Index | 8 | -| Add Foreign Key | 9 | -| Drop Foreign Key | 10 | -| Truncate Table | 11 | -| Modify Column | 12 | -| Rebase Auto ID | 13 | -| Rename Table | 14 | -| Set Default Value | 15 | -| Shard RowID | 16 | -| Modify Table Comment | 17 | -| Rename Index | 18 | -| Add Table Partition | 19 | -| Drop Table Partition | 20 | -| Create View | 21 | -| Modify Table Charset And Collate | 22 | -| Truncate Table Partition | 23 | -| Drop View | 24 | -| Recover Table | 25 | -| Modify Schema Charset And Collate | 26 | -| Lock Table | 27 | -| Unlock Table | 28 | -| Repair Table | 29 | -| Set TiFlash Replica | 30 | -| Update TiFlash Replica Status | 31 | -| Add Primary Key | 32 | -| Drop Primary Key | 33 | -| Create Sequence | 34 | -| Alter Sequence | 35 | -| Drop Sequence | 36 | diff --git a/ticdc/manage-ticdc.md b/ticdc/manage-ticdc.md index 55e2920bb426..fe921ed9f62f 100644 --- a/ticdc/manage-ticdc.md +++ b/ticdc/manage-ticdc.md @@ -37,109 +37,166 @@ aliases: ['/docs-cn/dev/reference/tools/ticdc/manage/'] ### 管理同步任务 (`changefeed`) -- 创建 `changefeed`: +#### 创建 `changefeed` - {{< copyable "shell-regular" >}} +使用如下示例命令创建 `changefeed`: - ```shell - cdc cli changefeed create --sink-uri="mysql://root:123456@127.0.0.1:3306/" - create changefeed ID: 28c43ffc-2316-4f4f-a70b-d1a7c59ba79f info {"sink-uri":"mysql://root:123456@127.0.0.1:3306/","opts":{},"create-time":"2020-03-12T22:04:08.103600025+08:00","start-ts":415241823337054209,"target-ts":0,"admin-job-type":0,"config":{"filter-case-sensitive":false,"filter-rules":null,"ignore-txn-commit-ts":null}} - ``` +{{< copyable "shell-regular" >}} + +```shell +cdc cli changefeed create --sink-uri="mysql://root:123456@127.0.0.1:3306/" +create changefeed ID: 28c43ffc-2316-4f4f-a70b-d1a7c59ba79f info {"sink-uri":"mysql://root:123456@127.0.0.1:3306/","opts":{},"create-time":"2020-03-12T22:04:08.103600025+08:00","start-ts":415241823337054209,"target-ts":0,"admin-job-type":0,"config":{"filter-case-sensitive":false,"filter-rules":null,"ignore-txn-commit-ts":null}} +``` + +其中 `--sink-uri` 需要按照以下格式进行配置,目前 scheme 支持 `mysql`/`tidb`/`kafka`。 -- 查询 `changefeed` 列表: +{{< copyable "" >}} + +``` +[scheme]://[userinfo@][host]:[port][/path]?[query_parameters] +``` + +- Sink URI 配置 `mysql`/`tidb` + + 配置样例如下所示: {{< copyable "shell-regular" >}} ```shell - cdc cli changefeed list + --sink-uri="mysql://root:123456@127.0.0.1:3306/?worker-count=16&max-txn-row=5000" ``` - ``` - [ - { - "id": "28c43ffc-2316-4f4f-a70b-d1a7c59ba79f" - } - ] - ``` + 以上配置命令中的参数解析如下: -- 查询特定 `changefeed`,对应于某个同步任务的信息和状态: + | 参数 | 解析 | + | :------------ | :------------------------------------------------ | + | `root` | 下游数据库的用户名 | + | `123456` | 下游数据库密码 | + | `127.0.0.1` | 下游数据库的 IP | + | `3306` | 下游数据的连接端口 | + | `worker-count` | 向下游执行 SQL 的并发度(可选,默认值为 `16`) | + | `max-txn-row` | 向下游执行 SQL 的 batch 大小(可选,默认值为 `256`) | + +- Sink URI 配置 `kafka` + + 配置样例如下所示: {{< copyable "shell-regular" >}} ```shell - cdc cli changefeed query --changefeed-id=28c43ffc-2316-4f4f-a70b-d1a7c59ba79f + --sink-uri="kafka://127.0.0.1:9092/cdc-test?kafka-version=2.4.0&partition-num=6&max-message-bytes=67108864&replication-factor=1" ``` - ``` - { - "info": { - "sink-uri": "mysql://root:123456@127.0.0.1:3306/", - "opts": {}, - "create-time": "2020-03-12T22:04:08.103600025+08:00", - "start-ts": 415241823337054209, - "target-ts": 0, - "admin-job-type": 0, - "config": { - "filter-case-sensitive": false, - "filter-rules": null, - "ignore-txn-commit-ts": null - } - }, - "status": { - "resolved-ts": 415241860902289409, - "checkpoint-ts": 415241860640145409, - "admin-job-type": 0 - } - } - ``` + 以上配置命令中的参数解析如下: + + | 参数 | 解析 | + | :------------------ | :------------------------------------------------------------ | + | `127.0.0.1` | 下游 Kafka 对外提供服务的 IP | + | `9092` | 下游 Kafka 的连接端口 | + | `cdc-test` | 使用的 Kafka topic 名字 | + | `kafka-version` | 下游 Kafka 版本号(可选,默认值 `2.4.0`) | + | `partition-num` | 下游 Kafka partition 数量(可选,不能大于实际 partition 数量。如果不填会自动获取 partition 数量。) | + | `max-message-bytes` | 每次向 Kafka broker 发送消息的最大数据量(可选,默认值 `64MB`) | + | `replication-factor` | kafka 消息保存副本数(可选,默认值 `1`) | + +#### 查询 `changefeed` 列表 + +{{< copyable "shell-regular" >}} + +```shell +cdc cli changefeed list +``` + +``` +[ + { + "id": "28c43ffc-2316-4f4f-a70b-d1a7c59ba79f" + } +] +``` + +#### 查询特定 `changefeed` + +查询特定 `changefeed`,对应于某个同步任务的的信息和状态: + +{{< copyable "shell-regular" >}} + +```shell +cdc cli changefeed query --changefeed-id=28c43ffc-2316-4f4f-a70b-d1a7c59ba79f +``` + +``` +{ + "info": { + "sink-uri": "mysql://root:123456@127.0.0.1:3306/", + "opts": {}, + "create-time": "2020-03-12T22:04:08.103600025+08:00", + "start-ts": 415241823337054209, + "target-ts": 0, + "admin-job-type": 0, + "config": { + "filter-case-sensitive": false, + "filter-rules": null, + "ignore-txn-commit-ts": null + } + }, + "status": { + "resolved-ts": 415241860902289409, + "checkpoint-ts": 415241860640145409, + "admin-job-type": 0 + } +} +``` ### 管理同步子任务处理单元 (`processor`) -- 查询 `processor` 列表: +#### 查询 `processor` 列表 - {{< copyable "shell-regular" >}} +{{< copyable "shell-regular" >}} - ```shell - cdc cli processor list - ``` +```shell +cdc cli processor list +``` - ``` - [ - { - "id": "9f84ff74-abf9-407f-a6e2-56aa35b33888", - "capture-id": "b293999a-4168-4988-a4f4-35d9589b226b", - "changefeed-id": "28c43ffc-2316-4f4f-a70b-d1a7c59ba79f" - } - ] - ``` +``` +[ + { + "id": "9f84ff74-abf9-407f-a6e2-56aa35b33888", + "capture-id": "b293999a-4168-4988-a4f4-35d9589b226b", + "changefeed-id": "28c43ffc-2316-4f4f-a70b-d1a7c59ba79f" + } +] +``` -- 查询特定 `processor`,对应于某个节点处理的同步子任务信息和状态: +#### 查询特定 `processor` - {{< copyable "shell-regular" >}} +查询特定 `processor`,对应于某个节点处理的同步子任务信息和状态: - ```shell - cdc cli processor query --changefeed-id=28c43ffc-2316-4f4f-a70b-d1a7c59ba79f --capture-id=b293999a-4168-4988-a4f4-35d9589b226b - ``` +{{< copyable "shell-regular" >}} - ``` - { - "status": { - "table-infos": [ - { - "id": 45, - "start-ts": 415241823337054209 - } - ], - "table-p-lock": null, - "table-c-lock": null, - "admin-job-type": 0 - }, - "position": { - "checkpoint-ts": 415241893447467009, - "resolved-ts": 415241893971492865 - } - } - ``` +```shell +cdc cli processor query --changefeed-id=28c43ffc-2316-4f4f-a70b-d1a7c59ba79f --capture-id=b293999a-4168-4988-a4f4-35d9589b226b +``` + +``` +{ + "status": { + "table-infos": [ + { + "id": 45, + "start-ts": 415241823337054209 + } + ], + "table-p-lock": null, + "table-c-lock": null, + "admin-job-type": 0 + }, + "position": { + "checkpoint-ts": 415241893447467009, + "resolved-ts": 415241893971492865 + } +} +``` ## 使用 HTTP 接口管理集群状态和数据同步 diff --git a/ticdc/sink-url.md b/ticdc/sink-url.md deleted file mode 100644 index c475a7859499..000000000000 --- a/ticdc/sink-url.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: Sink URI 配置规则 -category: reference -aliases: ['/docs-cn/dev/reference/tools/ticdc/sink/'] ---- - -# Sink URI 配置规则 - -sink URI 需要按照以下格式进行配置,目前 scheme 支持 `mysql`/`tidb`/`kafka`。 - -{{< copyable "" >}} - -``` -[scheme]://[userinfo@][host]:[port][/path]?[query_parameters] -``` - -## Sink URI 配置 `mysql`/`tidb` - -配置样例如下所示: - -{{< copyable "shell-regular" >}} - -```shell ---sink-uri="mysql://root:123456@127.0.0.1:3306/?worker-count=16&max-txn-row=5000" -``` - -以上配置命令中的参数解析如下: - -| 参数 | 解析 | -| :------------ | :------------------------------------------------ | -| `root` | 下游数据库的用户名 | -| `123456` | 下游数据库密码 | -| `127.0.0.1` | 下游数据库的 IP | -| `3306` | 下游数据的连接端口 | -| `worker-count` | 向下游执行 SQL 的并发度(可选,默认值为 `16`) | -| `max-txn-row` | 向下游执行 SQL 的 batch 大小(可选,默认值为 `256`) | - -## Sink URI 配置 `kafka` - -配置样例如下所示: - -{{< copyable "shell-regular" >}} - -```shell ---sink-uri="kafka://127.0.0.1:9092/cdc-test?kafka-version=2.4.0&partition-num=6&max-message-bytes=67108864&replication-factor=1" -``` - -以上配置命令中的参数解析如下: - -| 参数 | 解析 | -| :------------------ | :------------------------------------------------------------ | -| `127.0.0.1` | 下游 Kafka 对外提供服务的 IP | -| `9092` | 下游 Kafka 的连接端口 | -| `cdc-test` | 使用的 Kafka topic 名字 | -| `kafka-version` | 下游 Kafka 版本号(可选,默认值 `2.4.0`) | -| `partition-num` | 下游 Kafka partition 数量(可选,不能大于实际 partition 数量。如果不填会自动获取 partition 数量。) | -| `max-message-bytes` | 每次向 Kafka broker 发送消息的最大数据量(可选,默认值 `64MB`) | -| `replication-factor` | kafka 消息保存副本数(可选,默认值 `1`) | diff --git a/ticdc/troubleshoot-ticdc.md b/troubleshoot-ticdc.md similarity index 100% rename from ticdc/troubleshoot-ticdc.md rename to troubleshoot-ticdc.md From 22f535492dc9c4fa90dcc9ffd40741cddb69bc19 Mon Sep 17 00:00:00 2001 From: WangXiangUSTC Date: Tue, 26 May 2020 18:36:47 +0800 Subject: [PATCH 02/16] add link in ticdc overview --- TOC.md | 11 ++--------- ticdc/deploy-ticdc.md => deploy-ticdc.md | 1 - manage-ticdc.md | 5 ++--- ticdc-open-protocol.md | 1 - ticdc-overview.md | 17 ++++++++++++++++- troubleshoot-ticdc.md | 5 ++--- 6 files changed, 22 insertions(+), 18 deletions(-) rename ticdc/deploy-ticdc.md => deploy-ticdc.md (99%) diff --git a/TOC.md b/TOC.md index 21dde9278acc..80dd753a5236 100644 --- a/TOC.md +++ b/TOC.md @@ -102,7 +102,7 @@ + [磁盘 I/O 过高](/troubleshoot-high-disk-io.md) @陶政 + [锁冲突与 TTL 超时](/troubleshoot-lock-conflicts.md) @高振娇 + [从性能监控分析问题](/performance-tuning-monitor.md) @李坤 - + [TiCDC 常见问题](/troubleshoot-ticdc.md) @杨非 + + [TiCDC 常见问题](/troubleshoot-ticdc.md) + [TiFlash 常见问题](/tiflash/troubleshoot-tiflash.md) @孙若曦 + 性能调优 + 系统调优 @@ -173,14 +173,7 @@ + [故障诊断](/troubleshoot-tidb-lightning.md) + [FAQ](/tidb-lightning/tidb-lightning-faq.md) + [术语表](/tidb-lightning/tidb-lightning-glossary.md) - + TiCDC - + [概述](/ticdc/ticdc-overview.md) - + [部署使用](/ticdc/deploy-ticdc.md) - + [集群和同步任务管理](/ticdc/manage-ticdc.md) - + [常见问题和故障处理](/ticdc/troubleshoot-ticdc.md) - + [Sink URI 配置规则](/ticdc/sink-url.md) - + [开放数据协议](/ticdc/ticdc-open-protocol.md) - + [Column 和 DDL 的类型码](/ticdc/column-ddl-type-codes.md) + + [TiCDC](/ticdc-overview.md) + sync-diff-inspector @王相 + [概述](/sync-diff-inspector/sync-diff-inspector-overview.md) + [不同库名或表名的数据校验](/sync-diff-inspector/route-diff.md) diff --git a/ticdc/deploy-ticdc.md b/deploy-ticdc.md similarity index 99% rename from ticdc/deploy-ticdc.md rename to deploy-ticdc.md index b9715d6cb1f6..a0467ac3d4ba 100644 --- a/ticdc/deploy-ticdc.md +++ b/deploy-ticdc.md @@ -1,7 +1,6 @@ --- title: 部署和使用 TiCDC category: reference -aliases: ['/docs-cn/dev/reference/tools/ticdc/deploy/'] --- # 部署和使用 TiCDC diff --git a/manage-ticdc.md b/manage-ticdc.md index 266eeed4e312..5d811676a5d3 100644 --- a/manage-ticdc.md +++ b/manage-ticdc.md @@ -1,10 +1,9 @@ --- -title: 管理集群和同步任务 +title: TiCDC 集群和同步任务管理 category: reference -aliases: ['/docs-cn/dev/reference/tools/ticdc/manage/'] --- -# 管理集群和同步任务 +# TiCDC 集群和同步任务管理 目前 TiCDC 提供命令行工具 `cdc cli` 和 HTTP 接口两种方式来管理集群和同步任务。 diff --git a/ticdc-open-protocol.md b/ticdc-open-protocol.md index 589b1c195837..471fad7a99a3 100644 --- a/ticdc-open-protocol.md +++ b/ticdc-open-protocol.md @@ -1,7 +1,6 @@ --- title: TiCDC Open Protocol category: reference -aliases: ['/docs-cn/dev/reference/tools/ticdc/open-protocol/'] --- # TiCDC Open Protocol diff --git a/ticdc-overview.md b/ticdc-overview.md index ed079651b2ab..ea72caee00aa 100644 --- a/ticdc-overview.md +++ b/ticdc-overview.md @@ -1,7 +1,6 @@ --- title: TiCDC 简介 category: reference -aliases: ['/docs-cn/dev/reference/tools/ticdc/overview/'] --- # TiCDC 简介 @@ -62,3 +61,19 @@ TiCDC 的系统架构如下图所示: - 暂不支持 TiDB 4.0 [新的 Collation 框架](/character-set-and-collation.md#新框架下的-collation-支持)。如果开启该功能,需保证下游集群为 TiDB 并使用与上游相同的 collation,否则会出现 collation 导致的无法定位数据的问题。 - 暂不支持 TiDB 4.0 中[创建 SEQUENCE 的 DDL 操作](/sql-statements/sql-statement-create-sequence.md) 和 [SEQUENCE 函数](/sql-statements/sql-statement-create-sequence.md#sequence-函数)。在上游 TiDB 使用 SEQUENCE 时,TiCDC 将会忽略掉上游执行的 SEQUENCE DDL 操作/函数,但是使用 SEQUENCE 函数的 DML 操作可以正确地同步。 - 暂不支持 [TiKV Hibernate Region](https://github.com/tikv/tikv/blob/master/docs/reference/configuration/raftstore-config.md#hibernate-region)。TiCDC 会使 Region 无法进入静默状态。 + +## TiCDC 部署 + +TiCDC 的详细部署说明请参考 [TiCDC 部署](/deploy-ticdc.md)。 + +## TiCDC 任务管理 + +目前 TiCDC 提供命令行工具 `cdc cli` 和 HTTP 接口两种方式来管理集群和同步任务,详细说明请参考 [TiCDC 集群和同步任务管理](/manage-ticdc.md)。 + +## TiCDC 常见问题 + +在使用 TiCDC 过程中经常遇到的问题以及相对应的解决方案请参考 [TiCDC 常见问题](/troubleshoot-ticdc.md)。 + +## TiCDC 开放数据协议 + +TiCDC Open Protocol 是一种行级别的数据变更通知协议,为监控、缓存、全文索引、分析引擎、异构数据库的主从复制等提供数据源。TiCDC 遵循 TiCDC Open Protocol,向 MQ(Message Queue) 等第三方数据媒介复制 TiDB 的数据变更。详细信息参考 [TiCDC 开放数据协议](/ticdc-open-protocol.md)。 \ No newline at end of file diff --git a/troubleshoot-ticdc.md b/troubleshoot-ticdc.md index 0ea29d8ceed9..29432d462f63 100644 --- a/troubleshoot-ticdc.md +++ b/troubleshoot-ticdc.md @@ -1,10 +1,9 @@ --- -title: 常见问题和故障处理 +title: TiCDC 常见问题和故障处理 category: reference -aliases: ['/docs-cn/dev/reference/tools/ticdc/troubleshoot/'] --- -# 常见问题和故障处理 +# TiCDC 常见问题和故障处理 本文档总结了在使用 TiCDC 过程中经常遇到的问题,给出合适的运维方法。本文档还总结了常见的运行故障,并给出相对应的解决方案。 From 09a3a91fa271abc6aaf4b323a84b9662cc8f5a82 Mon Sep 17 00:00:00 2001 From: WangXiangUSTC Date: Tue, 26 May 2020 18:37:38 +0800 Subject: [PATCH 03/16] update link --- ticdc-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ticdc-overview.md b/ticdc-overview.md index ea72caee00aa..540c3b46c186 100644 --- a/ticdc-overview.md +++ b/ticdc-overview.md @@ -9,7 +9,7 @@ category: reference > > TiCDC 目前为实验特性,不建议在生产环境中使用。 -[TiCDC](https://github.com/pingcap/ticdc) 是一款通过拉取 TiKV 变更日志实现的 TiDB 增量数据同步工具,具有将数据还原到与上游任意 TSO 一致状态的能力,同时提供[开放数据协议](/ticdc/ticdc-open-protocol.md) (TiCDC Open Protocol),支持其他系统订阅数据变更。 +[TiCDC](https://github.com/pingcap/ticdc) 是一款通过拉取 TiKV 变更日志实现的 TiDB 增量数据同步工具,具有将数据还原到与上游任意 TSO 一致状态的能力,同时提供[开放数据协议](/ticdc-open-protocol.md) (TiCDC Open Protocol),支持其他系统订阅数据变更。 ## TiCDC 架构 From dd76808d3e0b0864e86b6b70fc0f97e73bde261f Mon Sep 17 00:00:00 2001 From: WangXiangUSTC Date: Tue, 26 May 2020 18:49:35 +0800 Subject: [PATCH 04/16] fix link --- TOC.md | 2 +- deploy-ticdc.md | 4 +++- production-deployment-using-tiup.md | 2 +- ticdc-open-protocol.md | 2 +- troubleshoot-ticdc.md | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/TOC.md b/TOC.md index 80dd753a5236..ef774be1ff08 100644 --- a/TOC.md +++ b/TOC.md @@ -74,7 +74,7 @@ + [使用 BR 进行备份与恢复](/br/backup-and-restore-tool.md) @栾成 + [BR 备份与恢复场景示例](/br/backup-and-restore-use-cases.md) @栾成 + [日常巡检](/daily-inspection.md) @王军 - + [TiCDC 任务管理](/manage-ticdc.md) @沈泰宁 + + [TiCDC 集群和任务管理](/manage-ticdc.md) + [TiUP 常用运维操作](/maintain-tidb-using-tiup.md) @王贤净 + [TiFlash 常用运维操作](/tiflash/maintain-tiflash.md) @雷宇 + 监控与告警 diff --git a/deploy-ticdc.md b/deploy-ticdc.md index a0467ac3d4ba..1693d902131c 100644 --- a/deploy-ticdc.md +++ b/deploy-ticdc.md @@ -146,7 +146,7 @@ cdc cli changefeed create --pd=http://10.0.10.25:2379 --start-ts=415238226621235 - `pd`: PD client 的 URL。 - `start-ts`: 指定开始同步的 TSO,不指定或指定为 `0` 时将使用当前 TSO 作为同步的起始 TSO。 - `target-ts`: 指定同步结束的 TSO,不指定默认会永久同步。 -- `sink-uri`: sink 地址,目前支持 `mysql`/`tidb` 和 `kafka`。关于 sink URI 的写法请参考 [sink URI 配置规则](/ticdc/sink-url.md) +- `sink-uri`: sink 地址,目前支持 `mysql`/`tidb` 和 `kafka`。 - `config`: 同步任务的配置。目前提供黑白名单配置和跳过特定 `commit-ts` 的事务。 执行该命令后,TiCDC 就会从指定的 start-ts (`415238226621235200`) 开始同步数据到下游 MySQL (`127.0.0.1:3306`) 中。 @@ -160,3 +160,5 @@ cdc cli changefeed create --pd=http://10.0.10.25:2379 --start-ts=415238226621235 ``` 执行命令以上后,TiCDC 会从指定 `start-ts` 开始同步数据到下游 Kafka (`10.0.10.30:9092`) 中。 + +详细的任务创建和管理说明请参考 [TiCDC 集群和同步任务管理](/manage-ticdc.md)。 \ No newline at end of file diff --git a/production-deployment-using-tiup.md b/production-deployment-using-tiup.md index 4790926282ab..57017b8e3a07 100644 --- a/production-deployment-using-tiup.md +++ b/production-deployment-using-tiup.md @@ -1098,7 +1098,7 @@ alertmanager_servers: #### 部署需求 -设置默认部署目录 `/tidb-deploy` 和数据目录 `/tidb-data`,需要启动 TiCDC,可在 TiCDC 集群部署完成后[通过 `cdc cli` 创建同步任务](/ticdc/deploy-ticdc.md#第-2-步创建同步任务)。 +设置默认部署目录 `/tidb-deploy` 和数据目录 `/tidb-data`,需要启动 TiCDC,可在 TiCDC 集群部署完成后[通过 `cdc cli` 创建同步任务](/deploy-ticdc.md#第-2-步创建同步任务)。 #### 拓扑信息 diff --git a/ticdc-open-protocol.md b/ticdc-open-protocol.md index 471fad7a99a3..6c3d0f755e25 100644 --- a/ticdc-open-protocol.md +++ b/ticdc-open-protocol.md @@ -89,7 +89,7 @@ Value: | :---------- | :----- | :--------------------- | | UpdateOrDelete | String | 标识该 Event 是增加 Row 还是删除 Row,取值只可能是 "u"/"d" | | Column Name | String | 列名 | - | Column Type | Number | 列类型,详见:[Column 和 DDL 的类型码](/ticdc/column-ddl-type-codes.md) | + | Column Type | Number | 列类型,详见:[Column 和 DDL 的类型码](#Column-和-DDL-的类型码) | | Where Handle | Bool | 表示该列是否可以作为 Where 筛选条件,当该列在表内具有唯一性时,Where Handle 为 true | | Column Value | Any | 列值 | diff --git a/troubleshoot-ticdc.md b/troubleshoot-ticdc.md index 29432d462f63..5bbb96c85c9c 100644 --- a/troubleshoot-ticdc.md +++ b/troubleshoot-ticdc.md @@ -18,7 +18,7 @@ category: reference ## 启动任务时提示部分表不能同步 -在使用 `cdc cli changefeed create` 创建同步任务时会检查上游表是否符合[同步限制](/ticdc/ticdc-overview.md#同步限制)。如果存在表不满足同步限制,会提示 `some tables are not eligible to replicate` 并列出这些不满足的表。用户选择 `Y` 或 `y` 则会继续创建同步任务,并且同步过程中自动忽略这些表的所有更新。用户选择其他输入,则不会创建同步任务。 +在使用 `cdc cli changefeed create` 创建同步任务时会检查上游表是否符合[同步限制](/ticdc-overview.md#同步限制)。如果存在表不满足同步限制,会提示 `some tables are not eligible to replicate` 并列出这些不满足的表。用户选择 `Y` 或 `y` 则会继续创建同步任务,并且同步过程中自动忽略这些表的所有更新。用户选择其他输入,则不会创建同步任务。 ## 同步中断的处理方法 From d399484af4758c342d9a8f916e462f030044c26a Mon Sep 17 00:00:00 2001 From: WangXiangUSTC Date: Tue, 26 May 2020 19:00:14 +0800 Subject: [PATCH 05/16] add aliases --- deploy-ticdc.md | 3 ++- manage-ticdc.md | 1 + ticdc-open-protocol.md | 3 ++- ticdc-overview.md | 3 ++- troubleshoot-ticdc.md | 1 + 5 files changed, 8 insertions(+), 3 deletions(-) diff --git a/deploy-ticdc.md b/deploy-ticdc.md index 1693d902131c..5ea28c9830ff 100644 --- a/deploy-ticdc.md +++ b/deploy-ticdc.md @@ -1,6 +1,7 @@ --- title: 部署和使用 TiCDC category: reference +aliases: ['/docs-cn/dev/reference/tools/ticdc/deploy/'] --- # 部署和使用 TiCDC @@ -161,4 +162,4 @@ cdc cli changefeed create --pd=http://10.0.10.25:2379 --start-ts=415238226621235 执行命令以上后,TiCDC 会从指定 `start-ts` 开始同步数据到下游 Kafka (`10.0.10.30:9092`) 中。 -详细的任务创建和管理说明请参考 [TiCDC 集群和同步任务管理](/manage-ticdc.md)。 \ No newline at end of file +详细的任务创建和管理说明请参考 [TiCDC 集群和同步任务管理](/manage-ticdc.md)。 diff --git a/manage-ticdc.md b/manage-ticdc.md index 5d811676a5d3..6880ab0ed1af 100644 --- a/manage-ticdc.md +++ b/manage-ticdc.md @@ -1,6 +1,7 @@ --- title: TiCDC 集群和同步任务管理 category: reference +aliases: ['/docs-cn/dev/reference/tools/ticdc/manage/'] --- # TiCDC 集群和同步任务管理 diff --git a/ticdc-open-protocol.md b/ticdc-open-protocol.md index 6c3d0f755e25..219f47095077 100644 --- a/ticdc-open-protocol.md +++ b/ticdc-open-protocol.md @@ -1,6 +1,7 @@ --- title: TiCDC Open Protocol category: reference +aliases: ['/docs-cn/dev/reference/tools/ticdc/open-protocol/'] --- # TiCDC Open Protocol @@ -288,4 +289,4 @@ Column 和 DDL 的类型码是由 TiCDC Open Protocol 定义的 Column 和 DDL | Drop Primary Key | 33 | | Create Sequence | 34 | | Alter Sequence | 35 | -| Drop Sequence | 36 | \ No newline at end of file +| Drop Sequence | 36 | diff --git a/ticdc-overview.md b/ticdc-overview.md index 540c3b46c186..cd7a9d3c5888 100644 --- a/ticdc-overview.md +++ b/ticdc-overview.md @@ -1,6 +1,7 @@ --- title: TiCDC 简介 category: reference +aliases: ['/docs-cn/dev/reference/tools/ticdc/overview/'] --- # TiCDC 简介 @@ -76,4 +77,4 @@ TiCDC 的详细部署说明请参考 [TiCDC 部署](/deploy-ticdc.md)。 ## TiCDC 开放数据协议 -TiCDC Open Protocol 是一种行级别的数据变更通知协议,为监控、缓存、全文索引、分析引擎、异构数据库的主从复制等提供数据源。TiCDC 遵循 TiCDC Open Protocol,向 MQ(Message Queue) 等第三方数据媒介复制 TiDB 的数据变更。详细信息参考 [TiCDC 开放数据协议](/ticdc-open-protocol.md)。 \ No newline at end of file +TiCDC Open Protocol 是一种行级别的数据变更通知协议,为监控、缓存、全文索引、分析引擎、异构数据库的主从复制等提供数据源。TiCDC 遵循 TiCDC Open Protocol,向 MQ(Message Queue) 等第三方数据媒介复制 TiDB 的数据变更。详细信息参考 [TiCDC 开放数据协议](/ticdc-open-protocol.md)。 diff --git a/troubleshoot-ticdc.md b/troubleshoot-ticdc.md index 5bbb96c85c9c..47b2ab12d92a 100644 --- a/troubleshoot-ticdc.md +++ b/troubleshoot-ticdc.md @@ -1,6 +1,7 @@ --- title: TiCDC 常见问题和故障处理 category: reference +aliases: ['/docs-cn/dev/reference/tools/ticdc/troubleshoot/'] --- # TiCDC 常见问题和故障处理 From 5e3907f95231384272c18ac00364c40109593e2d Mon Sep 17 00:00:00 2001 From: WangXiangUSTC Date: Tue, 26 May 2020 19:03:10 +0800 Subject: [PATCH 06/16] Update TOC.md Co-authored-by: Keke Yi <40977455+yikeke@users.noreply.github.com> --- TOC.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TOC.md b/TOC.md index ef774be1ff08..06e003fba622 100644 --- a/TOC.md +++ b/TOC.md @@ -414,7 +414,7 @@ + TiKV + [RocksDB 简介](/rocksdb/rocksdb-overview.md) + TiFlash - + [TiCDC](/ticdc-overview.md) + + [TiCDC 简介](/ticdc-overview.md) + [错误码](/error-codes.md) @于帅鹏 + 常见问题解答 (FAQ) + [产品 FAQ](/faq/tidb-faq.md) @荣毅龙/启航 From 9b9fdf7a92c56a48b69b79ed5aabaf73c558d5ba Mon Sep 17 00:00:00 2001 From: WangXiangUSTC Date: Tue, 26 May 2020 19:46:49 +0800 Subject: [PATCH 07/16] fix link --- export-or-backup-using-dumpling.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/export-or-backup-using-dumpling.md b/export-or-backup-using-dumpling.md index 9b162aa576f3..6abf88960f1c 100644 --- a/export-or-backup-using-dumpling.md +++ b/export-or-backup-using-dumpling.md @@ -8,7 +8,7 @@ category: how-to 本文档介绍如何使用数据导出工具 [Dumpling](https://github.com/pingcap/dumpling)。该工具可以把存储在 TiDB 中的数据导出为 SQL 或者 CSV 格式,可以用于完成逻辑上的全量备份或者导出。 -如果需要直接备份 SST 文件(KV 对)或者对延迟不敏感的增量备份,请参阅 [BR](/br/backup-and-restore-tool.md)。如果需要实时的增量备份,请参阅 [TiCDC](/ticdc/ticdc-overview.md)。 +如果需要直接备份 SST 文件(KV 对)或者对延迟不敏感的增量备份,请参阅 [BR](/br/backup-and-restore-tool.md)。如果需要实时的增量备份,请参阅 [TiCDC](/ticdc-overview.md)。 使用 Dumpling 时,需要在已经启动的集群上执行导出命令。本文假设在 `127.0.0.1:4000` 有一个 TiDB 实例,并且这个 TiDB 实例中有无密码的 root 用户。 From 3e1d5ce9240ff5076b00c2beb8d741c989052c90 Mon Sep 17 00:00:00 2001 From: WangXiangUSTC Date: Tue, 26 May 2020 21:05:51 +0800 Subject: [PATCH 08/16] combine deploy ticdc to manage ticdc --- TOC.md | 2 +- deploy-ticdc.md | 165 ---------------------------------------------- manage-ticdc.md | 62 ++++++++++++++++- ticdc-overview.md | 8 +-- 4 files changed, 62 insertions(+), 175 deletions(-) delete mode 100644 deploy-ticdc.md diff --git a/TOC.md b/TOC.md index 41082b687a1b..1e84ffb3fb04 100644 --- a/TOC.md +++ b/TOC.md @@ -75,7 +75,7 @@ + [使用 BR 进行备份与恢复](/br/backup-and-restore-tool.md) @栾成 + [BR 备份与恢复场景示例](/br/backup-and-restore-use-cases.md) @栾成 + [日常巡检](/daily-inspection.md) @王军 - + [TiCDC 集群和任务管理](/manage-ticdc.md) + + [TiCDC 部署和同步任务管理](/manage-ticdc.md) + [TiUP 常用运维操作](/maintain-tidb-using-tiup.md) @王贤净 + [TiFlash 常用运维操作](/tiflash/maintain-tiflash.md) @雷宇 + 监控与告警 diff --git a/deploy-ticdc.md b/deploy-ticdc.md deleted file mode 100644 index 0db2c60f663c..000000000000 --- a/deploy-ticdc.md +++ /dev/null @@ -1,165 +0,0 @@ ---- -title: 部署和使用 TiCDC -category: reference -aliases: ['/docs-cn/dev/reference/tools/ticdc/deploy/'] ---- - -# 部署和使用 TiCDC - -本文介绍如何部署和使用 TiCDC 进行增量数据同步。 - -## 第 1 步:部署 TiCDC 集群 - -本节介绍了在不同场景下如何安装部署 TiCDC,包括以下场景: - -- [使用 TiUP 全新部署 TiCDC](#使用-tiup-全新部署-ticdc) -- [使用 TiUP 在原有 TiDB 集群上新增 TiCDC 组件](#使用-tiup-在原有-tidb-集群上新增-ticdc-组件) -- [手动在原有 TiDB 集群上新增 TiCDC 组件](#手动在原有-tidb-集群上新增-ticdc-组件) - -### 使用 TiUP 全新部署 TiCDC - -TiUP cluster 是适用于 TiDB 4.0 及以上版本的部署工具,部署运行 TiCDC 必须使用 TiDB v4.0.0-rc.1 或更新版本,部署流程如下: - -1. 参考 [TiUP 部署文档](/production-deployment-using-tiup.md)安装 TiUP。 - -2. 安装 TiUP cluster 组件 - - {{< copyable "shell-regular" >}} - - ```shell - tiup cluster - ``` - -3. 编写 topology 配置文件,保存为 `topology.yaml`。 - - 可以参考[全量的配置文件模版](https://github.com/pingcap-incubator/tiup-cluster/blob/master/examples/topology.example.yaml)。 - - 除了部署 TiDB 集群的配置,需要额外在 `cdc_servers` 下配置 CDC 服务器所在的 ip(目前只支持 ip,不支持域名)。 - - {{< copyable "" >}} - - ```ini - pd_servers: - - host: 172.19.0.101 - - host: 172.19.0.102 - - host: 172.19.0.103 - - tidb_servers: - - host: 172.19.0.101 - - tikv_servers: - - host: 172.19.0.101 - - host: 172.19.0.102 - - host: 172.19.0.103 - - cdc_servers: - - host: 172.19.0.101 - - host: 172.19.0.102 - - host: 172.19.0.103 - ``` - -4. 按照 TiUP 部署流程完成集群部署的剩余步骤,包括: - - 部署 TiDB 集群,其中 test 为集群名: - - {{< copyable "shell-regular" >}} - - ```shell - tiup cluster deploy test v4.0.0-rc.1 topology.yaml -i ~/.ssh/id_rsa - ``` - - 启动 TiDB 集群: - - {{< copyable "shell-regular" >}} - - ```shell - tiup cluster start test - ``` - -5. 查看集群状态 - - {{< copyable "shell-regular" >}} - - ```shell - tiup cluster display test - ``` - -### 使用 TiUP 在原有 TiDB 集群上新增 TiCDC 组件 - -1. 首先确认当前 TiDB 的版本支持 TiCDC,否则需要先升级 TiDB 集群至 4.0.0 rc.1 或更新版本。 - -2. 参考 [扩容 TiDB/TiKV/PD/TiCDC 节点](/scale-tidb-using-tiup.md#扩容-tidbpdtikv-节点) 章节对 TiCDC 进行部署。 - - 示例的扩容配置文件为: - - ```shell - vi scale-out.yaml - ``` - - ``` - cdc_servers: - - host: 10.0.1.5 - - host: 10.0.1.6 - - host: 10.0.1.7 - ``` - - 随后执行扩容命令即可: - {{< copyable "shell-regular" >}} - - ```shell - tiup cluster scale-out scale-out.yaml - ``` - -### 手动在原有 TiDB 集群上新增 TiCDC 组件 - -假设 PD 集群有一个可以提供服务的 PD 节点(client URL 为 `10.0.10.25:2379`)。若要部署三个 TiCDC 节点,可以按照以下命令启动集群。只需要指定相同的 PD 地址,新启动的节点就可以自动加入 TiCDC 集群。 - -{{< copyable "shell-regular" >}} - -```shell -cdc server --pd=http://10.0.10.25:2379 --log-file=ticdc_1.log --addr=0.0.0.0:8301 --advertise-addr=127.0.0.1:8301 -cdc server --pd=http://10.0.10.25:2379 --log-file=ticdc_2.log --addr=0.0.0.0:8302 --advertise-addr=127.0.0.1:8302 -cdc server --pd=http://10.0.10.25:2379 --log-file=ticdc_3.log --addr=0.0.0.0:8303 --advertise-addr=127.0.0.1:8303 -``` - -对于 `cdc server` 命令中可用选项解释如下: - -- `gc-ttl`: TiCDC 在 PD 设置的服务级别 GC safepoint 的 TTL (Time To Live) 时长,单位为秒,默认值为 `86400`,即 24 小时。 -- `pd`: PD client 的 URL。 -- `addr`: TiCDC 的监听地址,提供服务的 HTTP API 查询地址和 Prometheus 查询地址。 -- `advertise-addr`: TiCDC 对外访问地址。 -- `tz`: TiCDC 服务使用的时区。TiCDC 在内部转换 timestamp 等时间数据类型和向下游同步数据时使用该时区,默认为进程运行本地时区。 -- `log-file`: TiCDC 进程运行日志的地址,默认为 `cdc.log`。 -- `log-level`: TiCDC 进程运行时默认的日志级别,默认为 `info`。 - -## 第 2 步:创建同步任务 - -假设需要将上游所有的库表(系统表除外)同步到下游的 MySQL,可以通过以下命令创建同步任务: - -{{< copyable "shell-regular" >}} - -```shell -cdc cli changefeed create --pd=http://10.0.10.25:2379 --start-ts=415238226621235200 --sink-uri="mysql://root:123456@127.0.0.1:3306/" -``` - -以上命令中的选项解释如下: - -- `pd`: PD client 的 URL。 -- `start-ts`: 指定开始同步的 TSO,不指定或指定为 `0` 时将使用当前 TSO 作为同步的起始 TSO。 -- `target-ts`: 指定同步结束的 TSO,不指定默认会永久同步。 -- `sink-uri`: sink 地址,目前支持 `mysql`/`tidb` 和 `kafka`。 -- `config`: 同步任务的配置。目前提供黑白名单配置和跳过特定 `commit-ts` 的事务。 - -执行该命令后,TiCDC 就会从指定的 start-ts (`415238226621235200`) 开始同步数据到下游 MySQL (`127.0.0.1:3306`) 中。 - -如果希望同步数据到 Kafka 集群,需要先在 Kafka 集群中创建好 topic(比如以下示例创建了名为 `cdc-test` 的 topic),划分好 partition,并通过以下命令创建到 Kafka 集群的同步任务: - -{{< copyable "shell-regular" >}} - -```shell -cdc cli changefeed create --pd=http://10.0.10.25:2379 --start-ts=415238226621235200 --sink-uri="kafka://10.0.10.30:9092/cdc-test" -``` - -执行命令以上后,TiCDC 会从指定 `start-ts` 开始同步数据到下游 Kafka (`10.0.10.30:9092`) 中。 - -详细的任务创建和管理说明请参考 [TiCDC 集群和同步任务管理](/manage-ticdc.md)。 diff --git a/manage-ticdc.md b/manage-ticdc.md index 6880ab0ed1af..0f5f4ccd4e41 100644 --- a/manage-ticdc.md +++ b/manage-ticdc.md @@ -1,12 +1,68 @@ --- -title: TiCDC 集群和同步任务管理 +title: TiCDC 部署和同步任务管理 category: reference aliases: ['/docs-cn/dev/reference/tools/ticdc/manage/'] --- -# TiCDC 集群和同步任务管理 +# TiCDC 部署和同步任务管理 -目前 TiCDC 提供命令行工具 `cdc cli` 和 HTTP 接口两种方式来管理集群和同步任务。 +本文档介绍 TiCDC 的部署,以及如何通过 TiCDC 提供的命令行工具 `cdc cli` 和 HTTP 接口两种方式来管理集群和同步任务。 + +## TiCDC 部署 + +### 使用 TiUP 部署 + +#### 使用 TiUP 部署包含 TiCDC 组件的 TiDB 集群 + + 详细操作参考[使用 TiUP 部署 TiCDC](/production-deployment-using-tiup.md#场景-4通过-ticdc-同步到下游)。 + +#### 使用 TiUP 在原有 TiDB 集群上新增 TiCDC 组件 + +1. 首先确认当前 TiDB 的版本支持 TiCDC,否则需要先升级 TiDB 集群至 4.0.0 rc.1 或更新版本。 + +2. 参考 [扩容 TiDB/TiKV/PD/TiCDC 节点](/scale-tidb-using-tiup.md#扩容-tidbpdtikv-节点) 章节对 TiCDC 进行部署。 + + 示例的扩容配置文件为: + + ```shell + vi scale-out.yaml + ``` + + ``` + cdc_servers: + - host: 10.0.1.5 + - host: 10.0.1.6 + - host: 10.0.1.7 + ``` + + 随后执行扩容命令即可: + {{< copyable "shell-regular" >}} + + ```shell + tiup cluster scale-out scale-out.yaml + ``` + +### 在原有 TiDB 集群上使用 binary 部署 TiCDC 组件 + +假设 PD 集群有一个可以提供服务的 PD 节点(client URL 为 `10.0.10.25:2379`)。若要部署三个 TiCDC 节点,可以按照以下命令启动集群。只需要指定相同的 PD 地址,新启动的节点就可以自动加入 TiCDC 集群。 + +{{< copyable "shell-regular" >}} + +```shell +cdc server --pd=http://10.0.10.25:2379 --log-file=ticdc_1.log --addr=0.0.0.0:8301 --advertise-addr=127.0.0.1:8301 +cdc server --pd=http://10.0.10.25:2379 --log-file=ticdc_2.log --addr=0.0.0.0:8302 --advertise-addr=127.0.0.1:8302 +cdc server --pd=http://10.0.10.25:2379 --log-file=ticdc_3.log --addr=0.0.0.0:8303 --advertise-addr=127.0.0.1:8303 +``` + +对于 `cdc server` 命令中可用选项解释如下: + +- `gc-ttl`: TiCDC 在 PD 设置的服务级别 GC safepoint 的 TTL (Time To Live) 时长,单位为秒,默认值为 `86400`,即 24 小时。 +- `pd`: PD client 的 URL。 +- `addr`: TiCDC 的监听地址,提供服务的 HTTP API 查询地址和 Prometheus 查询地址。 +- `advertise-addr`: TiCDC 对外访问地址。 +- `tz`: TiCDC 服务使用的时区。TiCDC 在内部转换 timestamp 等时间数据类型和向下游同步数据时使用该时区,默认为进程运行本地时区。 +- `log-file`: TiCDC 进程运行日志的地址,默认为 `cdc.log`。 +- `log-level`: TiCDC 进程运行时默认的日志级别,默认为 `info`。 ## 使用 `cdc cli` 工具来管理集群状态和数据同步 diff --git a/ticdc-overview.md b/ticdc-overview.md index cd7a9d3c5888..c908769d0989 100644 --- a/ticdc-overview.md +++ b/ticdc-overview.md @@ -63,13 +63,9 @@ TiCDC 的系统架构如下图所示: - 暂不支持 TiDB 4.0 中[创建 SEQUENCE 的 DDL 操作](/sql-statements/sql-statement-create-sequence.md) 和 [SEQUENCE 函数](/sql-statements/sql-statement-create-sequence.md#sequence-函数)。在上游 TiDB 使用 SEQUENCE 时,TiCDC 将会忽略掉上游执行的 SEQUENCE DDL 操作/函数,但是使用 SEQUENCE 函数的 DML 操作可以正确地同步。 - 暂不支持 [TiKV Hibernate Region](https://github.com/tikv/tikv/blob/master/docs/reference/configuration/raftstore-config.md#hibernate-region)。TiCDC 会使 Region 无法进入静默状态。 -## TiCDC 部署 +## TiCDC 部署和任务管理 -TiCDC 的详细部署说明请参考 [TiCDC 部署](/deploy-ticdc.md)。 - -## TiCDC 任务管理 - -目前 TiCDC 提供命令行工具 `cdc cli` 和 HTTP 接口两种方式来管理集群和同步任务,详细说明请参考 [TiCDC 集群和同步任务管理](/manage-ticdc.md)。 +TiCDC 的详细部署和任务管理说明请参考 [TiCDC 部署和同步任务管理](/manage-ticdc.md)。 ## TiCDC 常见问题 From 52d9da83b4514a143bc485d8d116c21b1322d296 Mon Sep 17 00:00:00 2001 From: WangXiangUSTC Date: Tue, 26 May 2020 21:27:18 +0800 Subject: [PATCH 09/16] update title --- TOC.md | 2 +- manage-ticdc.md | 4 ++-- ticdc-overview.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/TOC.md b/TOC.md index 1e84ffb3fb04..580b52c296bd 100644 --- a/TOC.md +++ b/TOC.md @@ -75,7 +75,7 @@ + [使用 BR 进行备份与恢复](/br/backup-and-restore-tool.md) @栾成 + [BR 备份与恢复场景示例](/br/backup-and-restore-use-cases.md) @栾成 + [日常巡检](/daily-inspection.md) @王军 - + [TiCDC 部署和同步任务管理](/manage-ticdc.md) + + [TiCDC 运维操作及任务管理](/manage-ticdc.md) + [TiUP 常用运维操作](/maintain-tidb-using-tiup.md) @王贤净 + [TiFlash 常用运维操作](/tiflash/maintain-tiflash.md) @雷宇 + 监控与告警 diff --git a/manage-ticdc.md b/manage-ticdc.md index 0f5f4ccd4e41..6b248f552ca0 100644 --- a/manage-ticdc.md +++ b/manage-ticdc.md @@ -1,10 +1,10 @@ --- -title: TiCDC 部署和同步任务管理 +title: TiCDC 运维操作及任务管理 category: reference aliases: ['/docs-cn/dev/reference/tools/ticdc/manage/'] --- -# TiCDC 部署和同步任务管理 +# TiCDC 运维操作及任务管理 本文档介绍 TiCDC 的部署,以及如何通过 TiCDC 提供的命令行工具 `cdc cli` 和 HTTP 接口两种方式来管理集群和同步任务。 diff --git a/ticdc-overview.md b/ticdc-overview.md index c908769d0989..0e0eaa5f444a 100644 --- a/ticdc-overview.md +++ b/ticdc-overview.md @@ -65,7 +65,7 @@ TiCDC 的系统架构如下图所示: ## TiCDC 部署和任务管理 -TiCDC 的详细部署和任务管理说明请参考 [TiCDC 部署和同步任务管理](/manage-ticdc.md)。 +TiCDC 的详细部署和任务管理说明请参考 [TiCDC 运维操作及任务管理](/manage-ticdc.md)。 ## TiCDC 常见问题 From 647f72fe4f7d2c1217e8762eec7f1c297cebbddf Mon Sep 17 00:00:00 2001 From: kissmydb Date: Tue, 26 May 2020 21:34:08 +0800 Subject: [PATCH 10/16] Update manage-ticdc.md --- manage-ticdc.md | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/manage-ticdc.md b/manage-ticdc.md index 6b248f552ca0..0c2c4219cebc 100644 --- a/manage-ticdc.md +++ b/manage-ticdc.md @@ -14,7 +14,7 @@ aliases: ['/docs-cn/dev/reference/tools/ticdc/manage/'] #### 使用 TiUP 部署包含 TiCDC 组件的 TiDB 集群 - 详细操作参考[使用 TiUP 部署 TiCDC](/production-deployment-using-tiup.md#场景-4通过-ticdc-同步到下游)。 +详细操作参考[使用 TiUP 部署 TiCDC](/production-deployment-using-tiup.md#场景-4通过-ticdc-同步到下游)。 #### 使用 TiUP 在原有 TiDB 集群上新增 TiCDC 组件 @@ -22,26 +22,6 @@ aliases: ['/docs-cn/dev/reference/tools/ticdc/manage/'] 2. 参考 [扩容 TiDB/TiKV/PD/TiCDC 节点](/scale-tidb-using-tiup.md#扩容-tidbpdtikv-节点) 章节对 TiCDC 进行部署。 - 示例的扩容配置文件为: - - ```shell - vi scale-out.yaml - ``` - - ``` - cdc_servers: - - host: 10.0.1.5 - - host: 10.0.1.6 - - host: 10.0.1.7 - ``` - - 随后执行扩容命令即可: - {{< copyable "shell-regular" >}} - - ```shell - tiup cluster scale-out scale-out.yaml - ``` - ### 在原有 TiDB 集群上使用 binary 部署 TiCDC 组件 假设 PD 集群有一个可以提供服务的 PD 节点(client URL 为 `10.0.10.25:2379`)。若要部署三个 TiCDC 节点,可以按照以下命令启动集群。只需要指定相同的 PD 地址,新启动的节点就可以自动加入 TiCDC 集群。 From c932c059bbb05f0985813e1bd65c53619089f50d Mon Sep 17 00:00:00 2001 From: kissmydb Date: Tue, 26 May 2020 21:38:52 +0800 Subject: [PATCH 11/16] Update production-deployment-using-tiup.md --- production-deployment-using-tiup.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/production-deployment-using-tiup.md b/production-deployment-using-tiup.md index e4cb696cf361..3a89fd3b0260 100644 --- a/production-deployment-using-tiup.md +++ b/production-deployment-using-tiup.md @@ -88,7 +88,7 @@ aliases: ['/docs-cn/dev/how-to/deploy/orchestrated/tiup/'] - [增加 TiCDC 拓扑架构](/ticdc-deployment-topology.md) - 包含最小拓扑的基础上,同时部署 TiCDC。TiCDC 是 4.0 版本开始支持的 TiDB 增量数据同步工具,支持多种下游 (TiDB/MySQL/MQ)。相比于 TiDB Binlog,TiCDC 有延迟更低、天然高可用等优点。在部署完成后,需要启动 TiCDC,[通过 `cdc cli` 创建同步任务](/ticdc/manage-ticdc.md)。 + 包含最小拓扑的基础上,同时部署 TiCDC。TiCDC 是 4.0 版本开始支持的 TiDB 增量数据同步工具,支持多种下游 (TiDB/MySQL/MQ)。相比于 TiDB Binlog,TiCDC 有延迟更低、天然高可用等优点。在部署完成后,需要启动 TiCDC,[通过 `cdc cli` 创建同步任务](/manage-ticdc.md)。 - [增加 TiDB Binlog 拓扑架构](/tidb-binlog-deployment-topology.md) @@ -108,7 +108,7 @@ aliases: ['/docs-cn/dev/how-to/deploy/orchestrated/tiup/'] > > 通过 TiUP 进行集群部署可以使用密钥或者交互密码方式来进行安全认证: > -> - 如果是密钥方式,可以通过 `-i` 或者 `--identity_file` 来指定密钥的路径 ; +> - 如果是密钥方式,可以通过 `-i` 或者 `--identity_file` 来指定密钥的路径; > - 如果是密码方式,无需添加其他参数,`Enter` 即可进入密码交互窗口。 {{< copyable "shell-regular" >}} From ebb84987d7d1aa20d4420764223607d50f021078 Mon Sep 17 00:00:00 2001 From: yikeke Date: Tue, 26 May 2020 21:43:05 +0800 Subject: [PATCH 12/16] move ticdc files to ticdc folder --- TOC.md | 10 +++++----- export-or-backup-using-dumpling.md | 2 +- manage-ticdc.md => ticdc/manage-ticdc.md | 0 ticdc-open-protocol.md => ticdc/ticdc-open-protocol.md | 0 ticdc-overview.md => ticdc/ticdc-overview.md | 0 troubleshoot-ticdc.md => ticdc/troubleshoot-ticdc.md | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) rename manage-ticdc.md => ticdc/manage-ticdc.md (100%) rename ticdc-open-protocol.md => ticdc/ticdc-open-protocol.md (100%) rename ticdc-overview.md => ticdc/ticdc-overview.md (100%) rename troubleshoot-ticdc.md => ticdc/troubleshoot-ticdc.md (90%) diff --git a/TOC.md b/TOC.md index 186f27a52d38..1028c4e63074 100644 --- a/TOC.md +++ b/TOC.md @@ -78,7 +78,7 @@ + [使用 BR 进行备份与恢复](/br/backup-and-restore-tool.md) @栾成 + [BR 备份与恢复场景示例](/br/backup-and-restore-use-cases.md) @栾成 + [日常巡检](/daily-inspection.md) @王军 - + [TiCDC 运维操作及任务管理](/manage-ticdc.md) + + [TiCDC 运维操作及任务管理](/ticdc/manage-ticdc.md) + [TiUP 常用运维操作](/maintain-tidb-using-tiup.md) @王贤净 + [TiFlash 常用运维操作](/tiflash/maintain-tiflash.md) @雷宇 + 监控与告警 @@ -106,7 +106,7 @@ + [磁盘 I/O 过高](/troubleshoot-high-disk-io.md) @陶政 + [锁冲突与 TTL 超时](/troubleshoot-lock-conflicts.md) @高振娇 + [从性能监控分析问题](/performance-tuning-monitor.md) @李坤 - + [TiCDC 常见问题](/troubleshoot-ticdc.md) + + [TiCDC 常见问题](/ticdc/troubleshoot-ticdc.md) + [TiFlash 常见问题](/tiflash/troubleshoot-tiflash.md) @孙若曦 + 性能调优 + 系统调优 @@ -199,7 +199,7 @@ + [故障诊断](/troubleshoot-tidb-lightning.md) + [FAQ](/tidb-lightning/tidb-lightning-faq.md) + [术语表](/tidb-lightning/tidb-lightning-glossary.md) - + [TiCDC](/ticdc-overview.md) + + [TiCDC](/ticdc/ticdc-overview.md) + sync-diff-inspector @王相 + [概述](/sync-diff-inspector/sync-diff-inspector-overview.md) + [不同库名或表名的数据校验](/sync-diff-inspector/route-diff.md) @@ -441,7 +441,7 @@ + [TiKV 简介](/tikv-overview.md) + [RocksDB 简介](/rocksdb/rocksdb-overview.md) + TiFlash - + [TiCDC 简介](/ticdc-overview.md) + + [TiCDC 简介](/ticdc/ticdc-overview.md) + [错误码](/error-codes.md) @于帅鹏 + 常见问题解答 (FAQ) + [产品 FAQ](/faq/tidb-faq.md) @荣毅龙/启航 @@ -452,7 +452,7 @@ + [高可用 FAQ](/faq/high-availability-faq.md) @荣毅龙/启航 + [高可靠 FAQ](/faq/high-reliability-faq.md) @荣毅龙/启航 + [开发指南] - + [TiCDC 开放数据协议](/ticdc-open-protocol.md) + + [TiCDC 开放数据协议](/ticdc/ticdc-open-protocol.md) + [术语表](/glossary.md) @李琳 + [版本发布历史](/releases/release-notes.md) + v4.0 diff --git a/export-or-backup-using-dumpling.md b/export-or-backup-using-dumpling.md index 6abf88960f1c..9b162aa576f3 100644 --- a/export-or-backup-using-dumpling.md +++ b/export-or-backup-using-dumpling.md @@ -8,7 +8,7 @@ category: how-to 本文档介绍如何使用数据导出工具 [Dumpling](https://github.com/pingcap/dumpling)。该工具可以把存储在 TiDB 中的数据导出为 SQL 或者 CSV 格式,可以用于完成逻辑上的全量备份或者导出。 -如果需要直接备份 SST 文件(KV 对)或者对延迟不敏感的增量备份,请参阅 [BR](/br/backup-and-restore-tool.md)。如果需要实时的增量备份,请参阅 [TiCDC](/ticdc-overview.md)。 +如果需要直接备份 SST 文件(KV 对)或者对延迟不敏感的增量备份,请参阅 [BR](/br/backup-and-restore-tool.md)。如果需要实时的增量备份,请参阅 [TiCDC](/ticdc/ticdc-overview.md)。 使用 Dumpling 时,需要在已经启动的集群上执行导出命令。本文假设在 `127.0.0.1:4000` 有一个 TiDB 实例,并且这个 TiDB 实例中有无密码的 root 用户。 diff --git a/manage-ticdc.md b/ticdc/manage-ticdc.md similarity index 100% rename from manage-ticdc.md rename to ticdc/manage-ticdc.md diff --git a/ticdc-open-protocol.md b/ticdc/ticdc-open-protocol.md similarity index 100% rename from ticdc-open-protocol.md rename to ticdc/ticdc-open-protocol.md diff --git a/ticdc-overview.md b/ticdc/ticdc-overview.md similarity index 100% rename from ticdc-overview.md rename to ticdc/ticdc-overview.md diff --git a/troubleshoot-ticdc.md b/ticdc/troubleshoot-ticdc.md similarity index 90% rename from troubleshoot-ticdc.md rename to ticdc/troubleshoot-ticdc.md index 47b2ab12d92a..042bfb2a6ac4 100644 --- a/troubleshoot-ticdc.md +++ b/ticdc/troubleshoot-ticdc.md @@ -19,7 +19,7 @@ aliases: ['/docs-cn/dev/reference/tools/ticdc/troubleshoot/'] ## 启动任务时提示部分表不能同步 -在使用 `cdc cli changefeed create` 创建同步任务时会检查上游表是否符合[同步限制](/ticdc-overview.md#同步限制)。如果存在表不满足同步限制,会提示 `some tables are not eligible to replicate` 并列出这些不满足的表。用户选择 `Y` 或 `y` 则会继续创建同步任务,并且同步过程中自动忽略这些表的所有更新。用户选择其他输入,则不会创建同步任务。 +在使用 `cdc cli changefeed create` 创建同步任务时会检查上游表是否符合[同步限制](/ticdc/ticdc-overview.md#同步限制)。如果存在表不满足同步限制,会提示 `some tables are not eligible to replicate` 并列出这些不满足的表。用户选择 `Y` 或 `y` 则会继续创建同步任务,并且同步过程中自动忽略这些表的所有更新。用户选择其他输入,则不会创建同步任务。 ## 同步中断的处理方法 From bfad4f0a46bfd8ed5f3deaf3df083cabac5d8e30 Mon Sep 17 00:00:00 2001 From: yikeke Date: Tue, 26 May 2020 21:45:32 +0800 Subject: [PATCH 13/16] fix links --- production-deployment-using-tiup.md | 2 +- ticdc/ticdc-open-protocol.md | 4 ++-- ticdc/ticdc-overview.md | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/production-deployment-using-tiup.md b/production-deployment-using-tiup.md index 3a89fd3b0260..d19bc90a9c73 100644 --- a/production-deployment-using-tiup.md +++ b/production-deployment-using-tiup.md @@ -88,7 +88,7 @@ aliases: ['/docs-cn/dev/how-to/deploy/orchestrated/tiup/'] - [增加 TiCDC 拓扑架构](/ticdc-deployment-topology.md) - 包含最小拓扑的基础上,同时部署 TiCDC。TiCDC 是 4.0 版本开始支持的 TiDB 增量数据同步工具,支持多种下游 (TiDB/MySQL/MQ)。相比于 TiDB Binlog,TiCDC 有延迟更低、天然高可用等优点。在部署完成后,需要启动 TiCDC,[通过 `cdc cli` 创建同步任务](/manage-ticdc.md)。 + 包含最小拓扑的基础上,同时部署 TiCDC。TiCDC 是 4.0 版本开始支持的 TiDB 增量数据同步工具,支持多种下游 (TiDB/MySQL/MQ)。相比于 TiDB Binlog,TiCDC 有延迟更低、天然高可用等优点。在部署完成后,需要启动 TiCDC,[通过 `cdc cli` 创建同步任务](/ticdc/manage-ticdc.md)。 - [增加 TiDB Binlog 拓扑架构](/tidb-binlog-deployment-topology.md) diff --git a/ticdc/ticdc-open-protocol.md b/ticdc/ticdc-open-protocol.md index 219f47095077..038ed9f4baf6 100644 --- a/ticdc/ticdc-open-protocol.md +++ b/ticdc/ticdc-open-protocol.md @@ -90,7 +90,7 @@ Value: | :---------- | :----- | :--------------------- | | UpdateOrDelete | String | 标识该 Event 是增加 Row 还是删除 Row,取值只可能是 "u"/"d" | | Column Name | String | 列名 | - | Column Type | Number | 列类型,详见:[Column 和 DDL 的类型码](#Column-和-DDL-的类型码) | + | Column Type | Number | 列类型,详见:[Column 和 DDL 的类型码](#column-和-ddl-的类型码) | | Where Handle | Bool | 表示该列是否可以作为 Where 筛选条件,当该列在表内具有唯一性时,Where Handle 为 true | | Column Value | Any | 列值 | @@ -125,7 +125,7 @@ Value: | 参数 | 类型 | 说明 | | :-------- | :----- | :------------ | | DDL Query | String | DDL Query SQL | - | DDL Type | String | DDL 类型,详见:[Column 和 DDL 的类型码](#Column-和-DDL-的类型码) | + | DDL Type | String | DDL 类型,详见:[Column 和 DDL 的类型码](#column-和-ddl-的类型码) | ### Resolved Event diff --git a/ticdc/ticdc-overview.md b/ticdc/ticdc-overview.md index 0e0eaa5f444a..9594ea58eee2 100644 --- a/ticdc/ticdc-overview.md +++ b/ticdc/ticdc-overview.md @@ -10,7 +10,7 @@ aliases: ['/docs-cn/dev/reference/tools/ticdc/overview/'] > > TiCDC 目前为实验特性,不建议在生产环境中使用。 -[TiCDC](https://github.com/pingcap/ticdc) 是一款通过拉取 TiKV 变更日志实现的 TiDB 增量数据同步工具,具有将数据还原到与上游任意 TSO 一致状态的能力,同时提供[开放数据协议](/ticdc-open-protocol.md) (TiCDC Open Protocol),支持其他系统订阅数据变更。 +[TiCDC](https://github.com/pingcap/ticdc) 是一款通过拉取 TiKV 变更日志实现的 TiDB 增量数据同步工具,具有将数据还原到与上游任意 TSO 一致状态的能力,同时提供[开放数据协议](/ticdc/ticdc-open-protocol.md) (TiCDC Open Protocol),支持其他系统订阅数据变更。 ## TiCDC 架构 @@ -65,7 +65,7 @@ TiCDC 的系统架构如下图所示: ## TiCDC 部署和任务管理 -TiCDC 的详细部署和任务管理说明请参考 [TiCDC 运维操作及任务管理](/manage-ticdc.md)。 +TiCDC 的详细部署和任务管理说明请参考 [TiCDC 运维操作及任务管理](/ticdc/manage-ticdc.md)。 ## TiCDC 常见问题 @@ -73,4 +73,4 @@ TiCDC 的详细部署和任务管理说明请参考 [TiCDC 运维操作及任务 ## TiCDC 开放数据协议 -TiCDC Open Protocol 是一种行级别的数据变更通知协议,为监控、缓存、全文索引、分析引擎、异构数据库的主从复制等提供数据源。TiCDC 遵循 TiCDC Open Protocol,向 MQ(Message Queue) 等第三方数据媒介复制 TiDB 的数据变更。详细信息参考 [TiCDC 开放数据协议](/ticdc-open-protocol.md)。 +TiCDC Open Protocol 是一种行级别的数据变更通知协议,为监控、缓存、全文索引、分析引擎、异构数据库的主从复制等提供数据源。TiCDC 遵循 TiCDC Open Protocol,向 MQ(Message Queue) 等第三方数据媒介复制 TiDB 的数据变更。详细信息参考 [TiCDC 开放数据协议](/ticdc/ticdc-open-protocol.md)。 From 2481379e197286532b326dd033ef754345c92fce Mon Sep 17 00:00:00 2001 From: yikeke Date: Tue, 26 May 2020 21:53:50 +0800 Subject: [PATCH 14/16] Update manage-ticdc.md --- ticdc/manage-ticdc.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ticdc/manage-ticdc.md b/ticdc/manage-ticdc.md index 0c2c4219cebc..705346db4d7c 100644 --- a/ticdc/manage-ticdc.md +++ b/ticdc/manage-ticdc.md @@ -6,7 +6,7 @@ aliases: ['/docs-cn/dev/reference/tools/ticdc/manage/'] # TiCDC 运维操作及任务管理 -本文档介绍 TiCDC 的部署,以及如何通过 TiCDC 提供的命令行工具 `cdc cli` 和 HTTP 接口两种方式来管理集群和同步任务。 +本文档介绍如何部署 TiCDC 集群,以及如何通过 TiCDC 提供的命令行工具 `cdc cli` 和 HTTP 接口两种方式来管理 TiCDC 集群和同步任务。 ## TiCDC 部署 @@ -14,13 +14,13 @@ aliases: ['/docs-cn/dev/reference/tools/ticdc/manage/'] #### 使用 TiUP 部署包含 TiCDC 组件的 TiDB 集群 -详细操作参考[使用 TiUP 部署 TiCDC](/production-deployment-using-tiup.md#场景-4通过-ticdc-同步到下游)。 +详细操作参考[使用 TiUP 部署 TiCDC](/production-deployment-using-tiup.md#第-3-步编辑初始化配置文件)。 #### 使用 TiUP 在原有 TiDB 集群上新增 TiCDC 组件 1. 首先确认当前 TiDB 的版本支持 TiCDC,否则需要先升级 TiDB 集群至 4.0.0 rc.1 或更新版本。 -2. 参考 [扩容 TiDB/TiKV/PD/TiCDC 节点](/scale-tidb-using-tiup.md#扩容-tidbpdtikv-节点) 章节对 TiCDC 进行部署。 +2. 参考 [扩容 TiDB/TiKV/PD/TiCDC 节点](/scale-tidb-using-tiup.md#扩容-ticdc-节点) 章节对 TiCDC 进行部署。 ### 在原有 TiDB 集群上使用 binary 部署 TiCDC 组件 From 4cb78cb5a18192a39d66056640de093a475d16cd Mon Sep 17 00:00:00 2001 From: yikeke Date: Tue, 26 May 2020 21:55:50 +0800 Subject: [PATCH 15/16] Update ticdc-overview.md --- ticdc/ticdc-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ticdc/ticdc-overview.md b/ticdc/ticdc-overview.md index 9594ea58eee2..9391823dc5e5 100644 --- a/ticdc/ticdc-overview.md +++ b/ticdc/ticdc-overview.md @@ -73,4 +73,4 @@ TiCDC 的详细部署和任务管理说明请参考 [TiCDC 运维操作及任务 ## TiCDC 开放数据协议 -TiCDC Open Protocol 是一种行级别的数据变更通知协议,为监控、缓存、全文索引、分析引擎、异构数据库的主从复制等提供数据源。TiCDC 遵循 TiCDC Open Protocol,向 MQ(Message Queue) 等第三方数据媒介复制 TiDB 的数据变更。详细信息参考 [TiCDC 开放数据协议](/ticdc/ticdc-open-protocol.md)。 +TiCDC Open Protocol 是一种行级别的数据变更通知协议,为监控、缓存、全文索引、分析引擎、异构数据库的主从复制等提供数据源。TiCDC 遵循 TiCDC Open Protocol,向 MQ (Message Queue) 等第三方数据媒介复制 TiDB 的数据变更。详细信息参考 [TiCDC 开放数据协议](/ticdc/ticdc-open-protocol.md)。 From 660a227ec2ac4164c67b047cd283261d877b1d61 Mon Sep 17 00:00:00 2001 From: yikeke Date: Tue, 26 May 2020 21:58:38 +0800 Subject: [PATCH 16/16] fix a link --- ticdc/ticdc-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ticdc/ticdc-overview.md b/ticdc/ticdc-overview.md index 9391823dc5e5..a348cd3629d7 100644 --- a/ticdc/ticdc-overview.md +++ b/ticdc/ticdc-overview.md @@ -69,7 +69,7 @@ TiCDC 的详细部署和任务管理说明请参考 [TiCDC 运维操作及任务 ## TiCDC 常见问题 -在使用 TiCDC 过程中经常遇到的问题以及相对应的解决方案请参考 [TiCDC 常见问题](/troubleshoot-ticdc.md)。 +在使用 TiCDC 过程中经常遇到的问题以及相对应的解决方案请参考 [TiCDC 常见问题](/ticdc/troubleshoot-ticdc.md)。 ## TiCDC 开放数据协议