绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
DM 任务配置文件介绍
2020-05-15 15:21:16

本文档主要介绍 Data Migration (DM) 的任务基础配置文件 task_basic.yaml,包含实例配置两部分。

完整的任务配置参见 数据同步功能

关键概念

关于包括 source-id 和 DM-worker ID 在内的关键概念的介绍,请参阅基础配置文件示例

下面是一个基础的配置文件示例,通过该示例可以完成简单的数据同步功能。

---

# ----------- 全局配置 -----------
## ********* 基本信息配置 *********
name: test             # 任务名称,需要全局
task-mode: all         # 任务模式,可设为 "full"、"incremental"、"all"

target-database:       # 下游数据库实例配置
  host: "127.0.0.1"
  port: 4000
  user: "root"
  password: ""         # 如果不为空则需经过 dmctl 加密

## ******** 功能配置集 **********
black-white-list:        # 上游数据库实例匹配的表的 black & white list 过滤规则集
  bw-rule-1:             # 黑白名单配置的名称
    do-dbs: ["all_mode"] # 同步哪些库

# ----------- 实例配置 -----------
mysql-instances:
  - source-id: "mysql-replica-01"  # 上游实例或者复制组 ID,参考 `dm-master.toml` 的 `source-id` 配置
    black-white-list:  "bw-rule-1" # 黑白名单配置名称
    mydumper-thread: 4             # mydumper 用于导出数据的线程数量,在 v1.0.2 版本引入
    loader-thread: 16              # loader 用于导入数据的线程数量,在 v1.0.2 版本引入
    syncer-thread: 16              # syncer 用于同步增量数据的线程数量,在 v1.0.2 版本引入

  - source-id: "mysql-replica-02" # 上游实例或者复制组 ID,参考 `dm-master.toml` 的 `source-id` 配置
    black-white-list:  "bw-rule-1" # 黑白名单配置名称
    mydumper-thread: 4             # mydumper 用于导出数据的线程数量,在 v1.0.2 版本引入
    loader-thread: 16              # loader 用于导入数据的线程数量,在 v1.0.2 版本引入
    syncer-thread: 16              # syncer 用于同步增量数据的线程数量,在 v1.0.2 版本引入

配置顺序

通过上面的配置文件示例,可以看出配置文件总共分为两个部分:全局配置实例配置,其中全局配置又分为基础信息配置功能配置集,配置顺序如下:

  1. 编辑根据全局配置编辑全局配置

    任务基本信息配置

    配置任务的基本信息,配置项的说明参见以上示例配置文件中的注释。关于 task-mode 的特殊说明如下:

    • 描述:任务模式,可以通过任务模式来指定需要执行的数据迁移工作。
    • 值为字符串(fullincremental 或 all)。
      • full:只全量备份上游数据库,然后将数据全量导入到下游数据库。
      • incremental:只通过 binlog 把上游数据库的增量修改同步到下游数据库, 可以设置实例配置的 meta 配置项来指定增量同步开始的位置。
      • allfull + incremental。先全量备份上游数据库,将数据全量导入到下游数据库,然后从全量数据备份时导出的位置信息 (binlog position) 开始通过 binlog 增量同步数据到下游数据库。

    功能配置集

    对于一般的业务场景,只需要配置黑白名单过滤规则集,配置说明参见以上示例配置文件中 black-white-list 的注释以及 实例配置

    本小节定义具体的数据同步子任务,DM 支持从单个或者多个上游 MySQL 实例同步数据到同一个下游数据库实例。 配置项说明参见以上示例配置文件中 mysql-instances 的注释。

    修改任务配置

    在某些情况下需要更新任务配置内容,比如重置数据同步任务时设置了 remove-meta 为 true 和 task-mode 为 all,当数据同步任务重置完成后,需要更新任务配置文件中的 remove-meta 设置为 false,防止下一次启动任务的时候重新同步任务。

    因为 DM 集群会持久化保存任务配置,所以修改任务配置需要通过 stop-taskstart-task 将修改后的配置更新到 DM 集群中,如果直接修改任务配置文件,但是不重启任务,配置变更不会生效,DM 集群重启时仍然会读取之前保存的任务配置。

    这里以修改 remove-meta 配置为例,举例说明任务配置修改步骤:

    1. 修改任务配置文件,将 remove-meta 设置为 false

    2. 通过 stop-task 命令停止任务:stop-task <task-name>

    3. 通过 start-task 命令启动任务:start-task <config-file>

"DM 任务配置文件介绍" 更新于 Apr 22 2020zh: Add config change example (#43) (#44) (1778459)
分享好友

分享这个小栈给你的朋友们,一起进步吧。

TiDB专区
创建时间:2020-05-15 15:03:37
TiDB 是 PingCAP 公司受 Google Spanner / F1 论文启发而设计的开源分布式 HTAP (Hybrid Transactional and Analytical Processing) 数据库
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 小雨滴
    专家
  • 飘絮絮絮丶
    专家
  • ?
    专家
戳我,来吐槽~