Skip to content

Commit 9d231a0

Browse files
authoredJul 7, 2022
ticdc: add 4 docs for data replication scenarios (#10276)
1 parent fb48720 commit 9d231a0

29 files changed

+709
-328
lines changed
 

‎TOC.md

+7-3
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
- [用 Sysbench 测试 TiDB](/benchmark/benchmark-tidb-using-sysbench.md)
9898
- [对 TiDB 进行 TPC-C 测试](/benchmark/benchmark-tidb-using-tpcc.md)
9999
- 数据迁移
100-
- [数据迁移综述](/migration-overview.md)
100+
- [数据迁移概述](/migration-overview.md)
101101
- [迁移工具](/migration-tools.md)
102102
- 数据迁移场景
103103
- [从 Aurora 迁移数据到 TiDB](/migrate-aurora-to-tidb.md)
@@ -108,12 +108,17 @@
108108
- [从 CSV 文件迁移数据到 TiDB](/migrate-from-csv-files-to-tidb.md)
109109
- [从 SQL 文件迁移数据到 TiDB](/migrate-from-sql-files-to-tidb.md)
110110
- [从 TiDB 集群迁移数据至另一 TiDB 集群](/migrate-from-tidb-to-tidb.md)
111-
- [从 TiDB 同步数据至 Apache Kafka](/replicate-data-to-kafka.md)
111+
- [从 TiDB 集群迁移数据至兼容 MySQL 的数据库](/migrate-from-tidb-to-mysql.md)
112112
- 复杂迁移场景
113113
- [上游使用 pt/gh-ost 工具的持续同步场景](/migrate-with-pt-ghost.md)
114114
- [下游存在更多列的迁移场景](/migrate-with-more-columns-downstream.md)
115115
- [如何根据类型或 DDL 内容过滤 binlog 事件](/filter-binlog-event.md)
116116
- [如何通过 SQL 表达式过滤 DML binlog 事件](/filter-dml-event.md)
117+
- 数据集成
118+
- [数据集成概述](/integration-overview.md)
119+
- 数据集成场景
120+
- [与 Confluent Cloud 进行数据集成](/ticdc/integrate-confluent-using-ticdc.md)
121+
- [与 Apache Kafka 和 Apache Flink 进行数据集成](/replicate-data-to-kafka.md)
117122
- 运维操作
118123
- 升级 TiDB 版本
119124
- [使用 TiUP 升级(推荐)](/upgrade-tidb-using-tiup.md)
@@ -495,7 +500,6 @@
495500
- [TiCDC Open Protocol](/ticdc/ticdc-open-protocol.md)
496501
- [TiCDC Avro Protocol](/ticdc/ticdc-avro-protocol.md)
497502
- [TiCDC Canal-JSON Protocol](/ticdc/ticdc-canal-json.md)
498-
- [将 TiDB 集成到 Confluent Platform](/ticdc/integrate-confluent-using-ticdc.md)
499503
- [常见问题解答](/ticdc/ticdc-faq.md)
500504
- [术语表](/ticdc/ticdc-glossary.md)
501505
- TiUniManager

‎backup-and-restore-using-dumpling-lightning.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ SELECT table_name,table_schema,SUM(data_length)/1024/1024 AS data_length,SUM(ind
107107

108108
2. 运行 `tidb-lightning`。如果直接在命令行中启动程序,可能会因为 `SIGHUP` 信号而退出,建议配合 `nohup``screen` 等工具,如:
109109

110-
若从 S3 导入,则需将有权限访问该 Amazon S3 后端存储的账号的 SecretKey 和 AccessKey 作为环境变量传入 Lightning 节点。同时还支持从 `~/.aws/credentials` 读取凭证文件。
110+
若从 Amazon S3 导入,则需将有权限访问该 S3 后端存储的账号的 SecretKey 和 AccessKey 作为环境变量传入 Lightning 节点。同时还支持从 `~/.aws/credentials` 读取凭证文件。
111111

112112
```shell
113113
export AWS_ACCESS_KEY_ID=${access_key}

‎dm/migrate-data-using-dm.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ tiup dmctl --master-addr 172.16.10.71:8261 stop-task test
181181

182182
如果使用 TiUP 部署 DM 集群时,正确部署了 Prometheus、Alertmanager 与 Grafana,且其地址均为 `172.16.10.71`。可在浏览器中打开 <http://172.16.10.71:9093> 进入 Alertmanager 查看 DM 告警信息;可在浏览器中打开 <http://172.16.10.71:3000> 进入 Grafana,选择 DM 的 dashboard 查看 DM 相关监控项。
183183

184-
DM 在运行过程中,DM-worker, DM-master 及 dmctl 都会通过日志输出相关信息。各组件的日志目录如下:
184+
DM 在运行过程中,DM-workerDM-master 及 dmctl 都会通过日志输出相关信息。各组件的日志目录如下:
185185

186186
- DM-master 日志目录:通过 DM-master 进程参数 `--log-file` 设置。如果使用 TiUP 部署 DM,则日志目录位于 `{log_dir}`。
187187
- DM-worker 日志目录:通过 DM-worker 进程参数 `--log-file` 设置。如果使用 TiUP 部署 DM,则日志目录位于 `{log_dir}`。

‎integration-overview.md

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
title: 数据集成概述
3+
summary: 了解使用 TiCDC 进行数据集成的具体场景。
4+
---
5+
6+
# 数据集成概述
7+
8+
数据集成一般是指数据在各个独立的数据源之间流动、转换和汇集。随着数据量的爆炸式增长和数据价值被深度挖掘,对数据集成的需求越来越普遍和迫切。为了避免 TiDB 成为数据孤岛,顺利与各个数据系统进行集成,TiCDC 提供将 TiDB 增量数据变更日志实时同步到其他数据系统的能力。本文介绍一些常用的数据集成场景,你可以依据这些场景选择最适合自己的数据集成方案。
9+
10+
## 与 Confluent Cloud 进行数据集成
11+
12+
你可以使用 TiCDC 将 TiDB 的增量数据同步到 Confluent Cloud,并借助 Confluent Cloud 的能力最终将数据分别同步到 ksqlDB、Snowflake、SQL Server。参见[与 Confluent Cloud 进行数据集成](/ticdc/integrate-confluent-using-ticdc.md)
13+
14+
## 与 Apache Kafka 和 Apache Flink 进行数据集成
15+
16+
你可以使用 TiCDC 将 TiDB 的增量数据同步到 Apache Kafka,并使用 Apache Flink 消费 Kafka 中的数据。参见[与 Apache Kafka 和 Apache Flink 进行数据集成](/replicate-data-to-kafka.md)
Loading

‎media/integrate/authentication.png

108 KB
Loading

‎media/integrate/configuration.png

106 KB
Loading

‎media/integrate/confluent-topics.PNG

79.6 KB
Loading

‎media/integrate/credentials.png

198 KB
Loading

‎media/integrate/data-preview.png

404 KB
Loading

‎media/integrate/results.png

199 KB
Loading
111 KB
Loading

‎media/integrate/sql-query-result.png

349 KB
Loading

‎media/integrate/topic-selection.png

141 KB
Loading

‎migrate-aurora-to-tidb.md

+22-22
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ aliases: ['/zh/tidb/dev/migrate-from-aurora-using-lightning/','/docs-cn/dev/migr
1919

2020
## 导入全量数据到 TiDB
2121

22-
### 第 1 步: 导出 Aurora 快照文件到 Amazon S3
22+
### 第 1 步:导出 Aurora 快照文件到 Amazon S3
2323

2424
1. 在 Aurora 上,执行以下命令,查询并记录当前 binlog 位置:
2525

@@ -47,7 +47,7 @@ aliases: ['/zh/tidb/dev/migrate-from-aurora-using-lightning/','/docs-cn/dev/migr
4747
- 创建快照点时,Aurora binlog 的名称及位置。
4848
- 快照文件的 S3 路径,以及具有访问权限的 SecretKey 和 AccessKey。
4949

50-
### 第 2 步: 导出 schema
50+
### 第 2 步:导出 schema
5151

5252
因为 Aurora 生成的快照文件并不包含建表语句文件,所以你需要使用 Dumpling 自行导出 schema 并使用 Lightning 在下游创建 schema。你也可以跳过此步骤,并以手动方式在下游自行创建 schema。
5353

@@ -76,9 +76,9 @@ tiup dumpling --host ${host} --port 3306 --user root --password ${password} --fi
7676
|-d 或 --no-data |不导出数据,仅导出 schema|
7777
|-f 或 --filter |导出能匹配模式的表,不可用 -T 一起使用,语法可参考[table filter](/table-filter.md)|
7878

79-
### 第 3 步: 编写 Lightning 配置文件
79+
### 第 3 步:编写 Lightning 配置文件
8080

81-
根据以下内容创建`tidb-lightning.toml` 配置文件:
81+
根据以下内容创建 `tidb-lightning.toml` 配置文件:
8282

8383
{{< copyable "shell-regular" >}}
8484

@@ -121,7 +121,7 @@ type = '$3'
121121

122122
如果需要在 TiDB 开启 TLS ,请参考 [TiDB Lightning Configuration](/tidb-lightning/tidb-lightning-configuration.md)。
123123

124-
### 第 4 步: 导入全量数据到 TiDB
124+
### 第 4 步:导入全量数据到 TiDB
125125

126126
1. 使用 Lightning 在下游 TiDB 建表:
127127

@@ -131,7 +131,7 @@ type = '$3'
131131
tiup tidb-lightning -config tidb-lightning.toml -d 's3://my-bucket/schema-backup?region=us-west-2'
132132
```
133133

134-
2. 运行 `tidb-lightning`。如果直接在命令行中启动程序,可能会因为 `SIGHUP` 信号而退出,建议配合`nohup``screen`等工具,如:
134+
2. 运行 `tidb-lightning`。如果直接在命令行中启动程序,可能会因为 `SIGHUP` 信号而退出,建议配合 `nohup``screen` 等工具,如:
135135

136136
将有权限访问该 Amazon S3 后端存储的账号的 SecretKey 和 AccessKey 作为环境变量传入 Lightning 节点。同时还支持从 `~/.aws/credentials` 读取凭证文件。
137137

@@ -145,11 +145,11 @@ type = '$3'
145145

146146
3. 导入开始后,可以采用以下任意方式查看进度:
147147

148-
- 通过 `grep` 日志关键字 `progress` 查看进度,默认 5 分钟更新一次。
149-
- 通过监控面板查看进度,请参考 [TiDB Lightning 监控](/tidb-lightning/monitor-tidb-lightning.md)。
150-
- 通过 Web 页面查看进度,请参考 [Web 界面](/tidb-lightning/tidb-lightning-web-interface.md)。
148+
- 通过 `grep` 日志关键字 `progress` 查看进度,默认 5 分钟更新一次。
149+
- 通过监控面板查看进度,请参考 [TiDB Lightning 监控](/tidb-lightning/monitor-tidb-lightning.md)。
150+
- 通过 Web 页面查看进度,请参考 [Web 界面](/tidb-lightning/tidb-lightning-web-interface.md)。
151151

152-
4. 导入完毕后,TiDB Lightning 会自动退出。查看日志的最后 5 行中会有 `the whole procedure completed`,则表示导入成功
152+
4. 导入完毕后,TiDB Lightning 会自动退出。查看 `tidb-lightning.log` 日志末尾是否有 `the whole procedure completed` 信息,如果有,表示导入成功。如果没有,则表示导入遇到了问题,可根据日志中的 error 提示解决遇到的问题
153153

154154
> **注意:**
155155
>
@@ -164,9 +164,9 @@ type = '$3'
164164
- [安装 DM 集群](/dm/deploy-a-dm-cluster-using-tiup.md)
165165
- [获取 DM 所需上下游数据库权限](/dm/dm-worker-intro.md)
166166

167-
### 第 1 步: 创建数据源
167+
### 第 1 步:创建数据源
168168

169-
1. 新建`source1.yaml`文件, 写入以下内容:
169+
1. 新建 `source1.yaml` 文件, 写入以下内容:
170170

171171
{{< copyable "" >}}
172172

@@ -194,12 +194,12 @@ type = '$3'
194194

195195
该命令中的参数描述如下:
196196

197-
|参数 |描述|
198-
|- |-|
199-
|`--master-addr` |dmctl 要连接的集群的任意 DM-master 节点的 {advertise-addr},例如:172.16.10.71:8261|
200-
|`operate-source create`|向 DM 集群加载数据源|
197+
| 参数 | 描述 |
198+
| - | - |
199+
| `--master-addr` | dmctl 要连接的集群的任意 DM-master 节点的 `{advertise-addr}`,例如:172.16.10.71:8261 |
200+
| `operate-source create` |向 DM 集群加载数据源 |
201201

202-
### 第 2 步: 创建迁移任务
202+
### 第 2 步:创建迁移任务
203203

204204
新建 `task1.yaml` 文件, 写入以下内容:
205205

@@ -247,7 +247,7 @@ mysql-instances:
247247

248248
以上内容为执行迁移的最小任务配置。关于任务的更多配置项,可以参考 [DM 任务完整配置文件介绍](/dm/task-configuration-file-full.md)
249249

250-
### 第 3 步: 启动任务
250+
### 第 3 步:启动任务
251251

252252
在你启动数据迁移任务之前,建议使用 `check-task` 命令检查配置是否符合 DM 的配置要求,以降低后期报错的概率:
253253

@@ -269,12 +269,12 @@ tiup dmctl --master-addr ${advertise-addr} start-task task.yaml
269269

270270
|参数|描述|
271271
|-|-|
272-
|`--master-addr`|dmctl 要连接的集群的任意 DM-master 节点的 {advertise-addr},例如: 172.16.10.71:8261|
272+
|`--master-addr`|dmctl 要连接的集群的任意 DM-master 节点的 `{advertise-addr}`,例如:172.16.10.71:8261|
273273
|`start-task`|命令用于创建数据迁移任务|
274274

275275
如果任务启动失败,可根据返回结果的提示进行配置变更后,再次执行上述命令,重新启动任务。遇到问题请参考[故障及处理方法](/dm/dm-error-handling.md)以及[常见问题](/dm/dm-faq.md)。
276276

277-
### 第 4 步: 查看任务状态
277+
### 第 4 步:查看任务状态
278278

279279
如需了解 DM 集群中是否存在正在运行的迁移任务及任务状态等信息,可使用 `tiup dmctl` 执行 `query-status` 命令进行查询:
280280

@@ -286,13 +286,13 @@ tiup dmctl --master-addr ${advertise-addr} query-status ${task-name}
286286

287287
关于查询结果的详细解读,请参考[查询状态](/dm/dm-query-status.md)。
288288

289-
### 第 5 步: 监控任务与查看日志
289+
### 第 5 步:监控任务与查看日志
290290

291291
要查看迁移任务的历史状态以及更多的内部运行指标,可参考以下步骤。
292292

293293
如果使用 TiUP 部署 DM 集群时,正确部署了 Prometheus、Alertmanager 与 Grafana,则使用部署时填写的 IP 及端口进入 Grafana,选择 DM 的 dashboard 查看 DM 相关监控项。
294294

295-
DM 在运行过程中,DM-worker, DM-master 及 dmctl 都会通过日志输出相关信息。各组件的日志目录如下:
295+
DM 在运行过程中,DM-workerDM-master 及 dmctl 都会通过日志输出相关信息。各组件的日志目录如下:
296296

297297
- DM-master 日志目录:通过 DM-master 进程参数 `--log-file` 设置。如果使用 TiUP 部署 DM,则日志目录默认位于 `/dm-deploy/dm-master-8261/log/`
298298
- DM-worker 日志目录:通过 DM-worker 进程参数 `--log-file` 设置。如果使用 TiUP 部署 DM,则日志目录默认位于 `/dm-deploy/dm-worker-8262/log/`

‎migrate-from-csv-files-to-tidb.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ TiDB Lightning 支持读取 CSV 格式的文件,以及其他定界符格式,
1414
- [安装 TiDB Lightning](/migration-tools.md)
1515
- [获取 Lightning 所需下游数据库权限](/tidb-lightning/tidb-lightning-faq.md#tidb-lightning-对下游数据库的账号权限要求是怎样的)
1616

17-
## 第 1 步: 准备 CSV 文件
17+
## 第 1 步:准备 CSV 文件
1818

1919
将所有要导入的 CSV 文件放在同一目录下,若要 TiDB Lightning 识别所有 CSV 文件,文件名必须满足以下格式:
2020

2121
- 包含整张表数据的 CSV 文件,需命名为 `${db_name}.${table_name}.csv`
2222
- 如果一张表分布于多个 CSV 文件,这些 CSV 文件命名需加上文件编号的后缀,如 `${db_name}.${table_name}.003.csv`。数字部分不需要连续,但必须递增,并且需要用零填充数字部分,保证后缀为同样长度。
2323

24-
## 第 2 步: 创建目标表结构
24+
## 第 2 步:创建目标表结构
2525

2626
CSV 文件自身未包含表结构信息。要将 CSV 数据导入 TiDB,就必须为数据提供表结构。可以通过以下任一方法创建表结构:
2727

@@ -34,7 +34,7 @@ CSV 文件自身未包含表结构信息。要将 CSV 数据导入 TiDB,就必
3434

3535
* **方法二**:手动在下游 TiDB 建库和表。
3636

37-
## 第 3 步: 编写配置文件
37+
## 第 3 步:编写配置文件
3838

3939
新建文件 `tidb-lightning.toml`,包含以下内容:
4040

@@ -89,7 +89,7 @@ pd-addr = "${ip}:${port}" # 集群 PD 的地址,Lightning 通过 PD 获取
8989

9090
关于配置文件更多信息,可参阅 [TiDB Lightning 配置参数](/tidb-lightning/tidb-lightning-configuration.md)
9191

92-
## 第 4 步: 导入性能优化(可选)
92+
## 第 4 步:导入性能优化(可选)
9393

9494
导入文件的大小统一约为 256 MiB 时,TiDB Lightning 可达到最佳工作状态。如果导入单个 CSV 大文件,TiDB Lightning 在默认配置下只能使用一个线程来处理,这会降低导入速度。
9595

@@ -111,7 +111,7 @@ pd-addr = "${ip}:${port}" # 集群 PD 的地址,Lightning 通过 PD 获取
111111
strict-format = true
112112
```
113113

114-
## 第 5 步: 执行导入
114+
## 第 5 步:执行导入
115115

116116
运行 `tidb-lightning`。如果直接在命令行中启动程序,可能会因为 `SIGHUP` 信号而退出,建议配合 `nohup``screen` 等工具,如:
117117

@@ -127,7 +127,7 @@ nohup tiup tidb-lightning -config tidb-lightning.toml > nohup.out 2>&1 &
127127
- 通过监控面板查看进度,请参考 [TiDB Lightning 监控](/tidb-lightning/monitor-tidb-lightning.md)
128128
- 通过 Web 页面查看进度,请参考 [Web 界面](/tidb-lightning/tidb-lightning-web-interface.md)
129129

130-
导入完毕后,TiDB Lightning 会自动退出。查看日志的最后 5 行中会有 `the whole procedure completed`,则表示导入成功
130+
导入完毕后,TiDB Lightning 会自动退出。查看 `tidb-lightning.log` 日志末尾是否有 `the whole procedure completed` 信息,如果有,表示导入成功。如果没有,则表示导入遇到了问题,可根据日志中的 error 提示解决遇到的问题
131131

132132
> **注意:**
133133
>

‎migrate-from-sql-files-to-tidb.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ pd-addr = "${ip}:${port}" # 集群 PD 的地址,Lightning 通过 PD 获取
7171

7272
运行 `tidb-lightning`。如果直接在命令行中启动程序,可能会因为 `SIGHUP` 信号而退出,建议配合 `nohup``screen` 等工具。
7373

74-
若从 S3 导入,则需将有权限访问该 Amazon S3 后端存储的账号的 SecretKey 和 AccessKey 作为环境变量传入 Lightning 节点。
74+
若从 Amazon S3 导入,则需将有权限访问该 S3 后端存储的账号的 SecretKey 和 AccessKey 作为环境变量传入 Lightning 节点。
7575

7676
{{< copyable "shell-regular" >}}
7777

@@ -89,7 +89,7 @@ nohup tiup tidb-lightning -config tidb-lightning.toml > nohup.out 2>&1 &
8989
- 通过监控面板查看进度,请参考 [TiDB Lightning 监控](/tidb-lightning/monitor-tidb-lightning.md)
9090
- 通过 Web 页面查看进度,请参考 [Web 界面](/tidb-lightning/tidb-lightning-web-interface.md)
9191

92-
导入完毕后,TiDB Lightning 会自动退出。查看日志的最后 5 行中会有 `the whole procedure completed`,则表示导入成功
92+
导入完毕后,TiDB Lightning 会自动退出。查看 `tidb-lightning.log` 日志末尾是否有 `the whole procedure completed` 信息,如果有,表示导入成功。如果没有,则表示导入遇到了问题,可根据日志中的 error 提示解决遇到的问题
9393

9494
> **注意:**
9595
>

0 commit comments

Comments
 (0)
Please sign in to comment.