Skip to content

Latest commit

 

History

History
205 lines (153 loc) · 6.08 KB

deploy-a-dm-cluster-using-binary.md

File metadata and controls

205 lines (153 loc) · 6.08 KB
title aliases
使用 DM binary 部署 DM 集群
/docs-cn/tidb-data-migration/dev/deploy-a-dm-cluster-using-binary/

使用 DM binary 部署 DM 集群

本文将介绍如何使用 DM binary 快速部署 DM 集群。

注意:

对于生产环境,推荐使用 TiUP 部署 DM 集群及相关监控组件

下载 DM 安装包

DM 安装包位于 TiDB 离线工具包中。下载方式,请参考 TiDB 工具下载

使用样例

假设在五台服务器上部署两个 DM-worker 实例和三个 DM-master 实例。各个节点的信息如下:

实例 服务器地址 端口
DM-master1 192.168.0.4 8261
DM-master2 192.168.0.5 8261
DM-master3 192.168.0.6 8261
DM-worker1 192.168.0.7 8262
DM-worker2 192.168.0.8 8262

下面以此为例,说明如何部署 DM。

注意:

  • 在单机部署多个 DM-master 或 DM-worker 时,需要确保每个实例的端口以及运行命令的当前目录各不相同。

  • 如果不需要确保 DM 集群高可用,则可只部署 1 个 DM-master 节点,且部署的 DM-worker 节点数量不少于上游待迁移的 MySQL/MariaDB 实例数。

  • 如果需要确保 DM 集群高可用,则推荐部署 3 个 DM-master 节点,且部署的 DM-worker 节点数量大于上游待迁移的 MySQL/MariaDB 实例数(如 DM-worker 节点数量比上游实例数多 2 个)。

  • 需要确保以下组件间端口可正常连通:

    • 各 DM-master 节点间的 8291 端口可互相连通。

    • 各 DM-master 节点可连通所有 DM-worker 节点的 8262 端口。

    • 各 DM-worker 节点可连通所有 DM-master 节点的 8261 端口。

部署 DM-master

DM-master 提供命令行参数配置文件两种配置方式。

使用命令行参数部署 DM-master

DM-master 的命令行参数说明:

./dm-master --help
Usage of dm-master:
  -L string
        log level: debug, info, warn, error, fatal (default "info")
  -V    prints version and exit
  -advertise-addr string
        advertise address for client traffic (default "${master-addr}")
  -advertise-peer-urls string
        advertise URLs for peer traffic (default "${peer-urls}")
  -config string
        path to config file
  -data-dir string
        path to the data directory (default "default.${name}")
  -initial-cluster string
        initial cluster configuration for bootstrapping, e.g. dm-master=http://127.0.0.1:8291
  -join string
        join to an existing cluster (usage: cluster's "${master-addr}" list, e.g. "127.0.0.1:8261,127.0.0.1:18261"
  -log-file string
        log file path
  -master-addr string
        master API server and status addr
  -name string
        human-readable name for this DM-master member
  -peer-urls string
        URLs for peer traffic (default "http://127.0.0.1:8291")
  -print-sample-config
        print sample config file of dm-worker

注意:

某些情况下,无法使用命令行参数来配置 DM-master,因为有的配置并未暴露给命令行。

使用配置文件部署 DM-master

推荐使用配置文件,把以下配置文件内容写入到 conf/dm-master1.toml 中。

DM-master 的配置文件:

# Master Configuration.

name = "master1"

# 日志配置
log-level = "info"
log-file = "dm-master.log"

# DM-master 监听地址
master-addr = "192.168.0.4:8261"

# DM-master 节点的对等 URL
peer-urls = "192.168.0.4:8291"

# 初始集群中所有 DM-master 的 advertise-peer-urls 的值
initial-cluster = "master1=http://192.168.0.4:8291,master2=http://192.168.0.5:8291,master3=http://192.168.0.6:8291"

在终端中使用下面的命令运行 DM-master:

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

注意:

执行该命令后控制台不会输出日志,可以通过 tail -f dm-master.log 查看运行日志。

./dm-master -config conf/dm-master1.toml

对于 DM-master2 和 DM-master3,修改配置文件中的 namemaster2master3,并将 peer-urls 的值改为 192.168.0.5:8291192.168.0.6:8291 即可。

部署 DM-worker

DM-worker 提供命令行参数配置文件两种配置方式。

使用命令行参数部署 DM-worker

查看 DM-worker 的命令行参数说明:

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

./dm-worker --help
Usage of worker:
  -L string
        log level: debug, info, warn, error, fatal (default "info")
  -V    prints version and exit
  -advertise-addr string
        advertise address for client traffic (default "${worker-addr}")
  -config string
        path to config file
  -join string
        join to an existing cluster (usage: dm-master cluster's "${master-addr}")
  -keepalive-ttl int
        dm-worker's TTL for keepalive with etcd (in seconds) (default 10)
  -log-file string
        log file path
  -name string
        human-readable name for DM-worker member
  -print-sample-config
        print sample config file of dm-worker
  -worker-addr string
        listen address for client traffic

注意:

某些情况下,无法使用命令行参数的方法来配置 DM-worker,因为有的配置并未暴露给命令行。

使用配置文件部署 DM-worker

推荐使用配置文件来配置 DM-worker,把以下配置文件内容写入到 conf/dm-worker1.toml 中。

DM-worker 的配置文件:

# Worker Configuration.

name = "worker1"

# 日志配置
log-level = "info"
log-file = "dm-worker.log"

# DM-worker 的地址
worker-addr = ":8262"

# 对应集群中 DM-master 配置中的 master-addr
join = "192.168.0.4:8261,192.168.0.5:8261,192.168.0.6:8261"

在终端中使用下面的命令运行 DM-worker:

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

./dm-worker -config conf/dm-worker1.toml

对于 DM-worker2,修改配置文件中的 nameworker2 即可。

这样,DM 集群就部署成功了。