使用 DM binary 部署 DM 集群

    注意

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

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

    使用样例

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

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

    使用 Binary 部署 - 图2

    注意

    • 在单机部署多个 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 节点间的 端口可互相连通。

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

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

    DM-master 提供和配置文件两种配置方式。

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

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

    1. Usage of dm-master:
    2. -L string
    3. log level: debug, info, warn, error, fatal (default "info")
    4. -V prints version and exit
    5. -advertise-addr string
    6. -advertise-peer-urls string
    7. advertise URLs for peer traffic (default "${peer-urls}")
    8. -config string
    9. path to config file
    10. -data-dir string
    11. path to the data directory (default "default.${name}")
    12. -initial-cluster string
    13. initial cluster configuration for bootstrapping, e.g. dm-master=http://127.0.0.1:8291
    14. -join string
    15. join to an existing cluster (usage: cluster's "${master-addr}" list, e.g. "127.0.0.1:8261,127.0.0.1:18261"
    16. -log-file string
    17. -master-addr string
    18. master API server and status addr
    19. -name string
    20. human-readable name for this DM-master member
    21. -peer-urls string
    22. URLs for peer traffic (default "http://127.0.0.1:8291")
    23. -print-sample-config
    24. print sample config file of dm-worker

    注意

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

    使用配置文件部署 DM-master

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

    DM-master 的配置文件:

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

    注意

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

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

      部署 DM-worker

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

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

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

      1. Usage of worker:
      2. -L string
      3. -V prints version and exit
      4. -advertise-addr string
      5. advertise address for client traffic (default "${worker-addr}")
      6. -config string
      7. path to config file
      8. -join string
      9. join to an existing cluster (usage: dm-master cluster's "${master-addr}")
      10. -keepalive-ttl int
      11. dm-worker's TTL for keepalive with etcd (in seconds) (default 10)
      12. -log-file string
      13. log file path
      14. -name string
      15. human-readable name for DM-worker member
      16. -print-sample-config
      17. print sample config file of dm-worker
      18. -worker-addr string
      19. listen address for client traffic

      使用 Binary 部署 - 图5

      注意

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

      使用配置文件部署 DM-worker

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

      DM-worker 的配置文件:

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

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