黄东旭解析 TiDB 的核心优势
699
2024-03-18
DM 提供了 Table routing、Block & Allow Table Lists、Binlog event filter 等基本功能,适用于不同的迁移场景。在迁移之前,建议先了解下这些基本功能,根据需求进行选择和配置。
Table routing 可以将上游 MySQL/MariaDB 实例的某些表迁移到下游指定表,它也是分库分表合并迁移所需的一个核心功能。
上游数据库实例表的黑白名单过滤规则,可以用来过滤或者只迁移某些 database/table
的所有操作。
Binlog event filter 是比迁移表黑白名单更加细粒度的过滤规则,可以指定只迁移或者过滤掉某些
schema / table
的指定类型 binlog,比如 INSERT
、TRUNCATE TABLE
1、MySQL同步数据至TiDB集群,常见场景如分库分表的多个MySQL数据库同步数据至TiDB集群
2、TiDB集群同步数据至TIDB集群
[tidb@tidb53 paul]$ cat dm.yaml # The topology template is used deploy a minimal DM cluster, which suitable # for scenarios with only three machinescontains. The minimal cluster contains # - 3 master nodes # - 3 worker nodes # You can change the hosts according your environment --- global: user: "tidb" ssh_port: 22 deploy_dir: "/data1/tidb-deploy" data_dir: "/data1/tidb-data" # arch: "amd64" server_configs: master: log-level: info # rpc-timeout: "30s" # rpc-rate-limit: 10.0 # rpc-rate-burst: 40 worker: log-level: info master_servers: - host: 172.20.12.52 # name: master1 ssh_port: 22 port: 18261 peer_port: 18291 deploy_dir: "/data1/dm-deploy/dm-master-18261" data_dir: "/data1/dm-data/dm-master-18261" log_dir: "/data1/dm-deploy/dm-master-18261/log" - host: 172.20.12.53 # name: master2 ssh_port: 22 port: 18261 peer_port: 18291 deploy_dir: "/data1/dm-deploy/dm-master-18261" data_dir: "/data1/dm-data/dm-master-18261" log_dir: "/data1/dm-deploy/dm-master-18261/log" - host: 172.20.12.70 # name: master3 ssh_port: 22 port: 18261 peer_port: 18291 deploy_dir: "/data1/dm-deploy/dm-master-18261" data_dir: "/data1/dm-data/dm-master-18261" log_dir: "/data1/dm-deploy/dm-master-18261/log" worker_servers: - host: 172.20.12.52 ssh_port: 22 port: 18262 deploy_dir: "/data1/dm-deploy/dm-worker-18262" log_dir: "/data1/dm-deploy/dm-worker-18262/log" config: log-level: info - host: 172.20.12.53 ssh_port: 22 port: 18262 deploy_dir: "/data1/dm-deploy/dm-worker-18262" log_dir: "/data1/dm-deploy/dm-worker-18262/log" config: log-level: info - host: 172.20.12.70 ssh_port: 22 port: 18262 deploy_dir: "/data1/dm-deploy/dm-worker-18262" log_dir: "/data1/dm-deploy/dm-worker-18262/log" config: log-level: info monitoring_servers: - host: 172.20.12.53 ssh_port: 22 port: 19999 deploy_dir: "/data1/tidb-deploy/prometheus-19999" data_dir: "/data1/tidb-data/prometheus-19999" log_dir: "/data1/tidb-deploy/prometheus-19999/log" grafana_servers: - host: 172.20.12.53 port: 19998 deploy_dir: /data1/tidb-deploy/grafana-19998 alertmanager_servers: - host: 172.20.12.53 ssh_port: 22 web_port: 19997 cluster_port: 19996 deploy_dir: "/data1/tidb-deploy/alertmanager-19997" data_dir: "/data1/tidb-data/alertmanager-19997" log_dir: "/data1/tidb-deploy/alertmanager-19997/log" //安装dm [tidb@tidb53 paul]$ tiup dm deploy paul_dm v6.5.1 ./dm.yaml Checking updates for component dm... Timedout (after 2s) Starting component dm: /home/tidb/.tiup/components/dm/v1.14.1/tiup-dm deploy paul_dm v6.5.1 ./dm.yaml + Detect CPU Arch Name - Detecting node 172.20.12.52 Arch info ... Done - Detecting node 172.20.12.53 Arch info ... Done - Detecting node 172.20.12.70 Arch info ... Done + Detect CPU OS Name - Detecting node 172.20.12.52 OS info ... Done - Detecting node 172.20.12.53 OS info ... Done - Detecting node 172.20.12.70 OS info ... Done Please confirm your topology: Cluster type: dm Cluster name: paul_dm Cluster version: v6.5.1 Role Host Ports OS/Arch Directories ---- ---- ----- ------- ----------- dm-master 172.20.12.52 18261/18291 linux/x86_64 /data1/dm-deploy/dm-master-18261,/data1/dm-data/dm-master-18261 dm-master 172.20.12.53 18261/18291 linux/x86_64 /data1/dm-deploy/dm-master-18261,/data1/dm-data/dm-master-18261 dm-master 172.20.12.70 18261/18291 linux/x86_64 /data1/dm-deploy/dm-master-18261,/data1/dm-data/dm-master-18261 dm-worker 172.20.12.52 18262 linux/x86_64 /data1/dm-deploy/dm-worker-18262,/data1/tidb-data/dm-worker-18262 dm-worker 172.20.12.53 18262 linux/x86_64 /data1/dm-deploy/dm-worker-18262,/data1/tidb-data/dm-worker-18262 dm-worker 172.20.12.70 18262 linux/x86_64 /data1/dm-deploy/dm-worker-18262,/data1/tidb-data/dm-worker-18262 prometheus 172.20.12.53 19999 linux/x86_64 /data1/tidb-deploy/prometheus-19999,/data1/tidb-data/prometheus-19999 grafana 172.20.12.53 19998 linux/x86_64 /data1/tidb-deploy/grafana-19998 alertmanager 172.20.12.53 19997/19996 linux/x86_64 /data1/tidb-deploy/alertmanager-19997,/data1/tidb-data/alertmanager-19997 Attention: 1. If the topology is not what you expected, check your yaml file. 2. Please confirm there is no port/directory conflicts in same host. Do you want to continue? [y/N]: (default=N) y .... [tidb@tidb53 paul]$ tiup dm display paul_dm Checking updates for component dm... Timedout (after 2s) Starting component dm: /home/tidb/.tiup/components/dm/v1.14.1/tiup-dm display paul_dm Cluster type: dm Cluster name: paul_dm Cluster version: v6.5.1 Deploy user: tidb SSH type: builtin Grafana URL: http://172.20.12.53:19998 ID Role Host Ports OS/Arch Status Data Dir Deploy Dir -- ---- ---- ----- ------- ------ -------- ---------- 172.20.12.53:19997 alertmanager 172.20.12.53 19997/19996 linux/x86_64 Up /data1/tidb-data/alertmanager-19997 /data1/tidb-deploy/alertmanager-19997 172.20.12.52:18261 dm-master 172.20.12.52 18261/18291 linux/x86_64 Healthy|L /data1/dm-data/dm-master-18261 /data1/dm-deploy/dm-master-18261 172.20.12.53:18261 dm-master 172.20.12.53 18261/18291 linux/x86_64 Healthy /data1/dm-data/dm-master-18261 /data1/dm-deploy/dm-master-18261 172.20.12.70:18261 dm-master 172.20.12.70 18261/18291 linux/x86_64 Healthy /data1/dm-data/dm-master-18261 /data1/dm-deploy/dm-master-18261 172.20.12.52:18262 dm-worker 172.20.12.52 18262 linux/x86_64 Free /data1/tidb-data/dm-worker-18262 /data1/dm-deploy/dm-worker-18262 172.20.12.53:18262 dm-worker 172.20.12.53 18262 linux/x86_64 Free /data1/tidb-data/dm-worker-18262 /data1/dm-deploy/dm-worker-18262 172.20.12.70:18262 dm-worker 172.20.12.70 18262 linux/x86_64 Free /data1/tidb-data/dm-worker-18262 /data1/dm-deploy/dm-worker-18262 172.20.12.53:19998 grafana 172.20.12.53 19998 linux/x86_64 Up - /data1/tidb-deploy/grafana-19998 172.20.12.53:19999 prometheus 172.20.12.53 19999 linux/x86_64 Up /data1/tidb-data/prometheus-19999 /data1/tidb-deploy/prometheus-19999 Total nodes: 9
3900: [root@tidb52 ~]# mkdir -p /data1/mysql/3900/ [root@tidb52 ~]# mkdir -p /data1/mysql/3900/data [root@tidb52 ~]# mkdir -p /data1/mysql/3900/binlog [root@tidb52 ~]# mkdir -p /data1/mysql/3900/log [root@tidb52 ~]# chown -R mysql:mysql /data1/mysql/3900/ [root@tidb52 ~]# tar -xzvf mysql-5.7.28-el7-x86_64.tar.gz [root@tidb52 ~]# ln -s mysql-5.7.28-el7-x86_64 mysql [root@tidb52 ~]# /data1/mysql/mysql/bin/mysqld --defaults-file=/data1/mysql/3900/my.cnf --initialize --user=mysql --basedir=/data1/mysql/mysql --datadir=/data1/mysql/3900/data [root@tidb52 ~]# /data1/mysql/mysql/bin/mysql -u root -P 3900 -p -h localhost -S /data1/mysql/3900/mysql.sock
[root@tidb52 ~]# mysql -u root -P 3900 -p -h localhost -S /data1/mysql/3900/mysql.sock Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.7.28-log MySQL Community Server (GPL) Copyright (c) 2000, 2023, *** and/or its affiliates. *** is a registered trademark of *** Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> CREATE USER dm_user@'%' identified by 'q1w2e3R4_'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON *.* TO dm_user@'%'; Query OK, 0 rows affected (0.00 sec) mysql> SET @@global.show_compatibility_56=ON; Query OK, 0 rows affected (0.00 sec)
[tidb@tidb53 ~]$ mysql -h 172.20.12.53 -P8000 -u root -proot -c mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 405 Server version: 5.7.25-TiDB-v6.5.1 TiDB Server (Apache License 2.0) Community Edition, MySQL 5.7 compatible Copyright (c) 2000, 2023, *** and/or its affiliates. *** is a registered trademark of *** Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> CREATE USER dm_user@'%' identified by 'q1w2e3R4_'; Query OK, 0 rows affected (0.03 sec) mysql> GRANT ALL PRIVILEGES ON *.* TO dm_user@'%'; Query OK, 0 rows affected (0.02 sec)
[tidb@tidb53 paul]$ cat mysql-source-conf1.yaml source-id: "mysql-replica-01" from: host: "172.20.12.52" port: 3900 user: "dm_user" password: "rjwvv2zB7Vam/2SpwUHxPUBwD+h2fnxAM+s=" //source tidb [tidb@tidb53 paul]$ cat tidb-source-conf1.yaml source-id: "tidb-replica-01" from: host: "172.20.12.52" port: 8000 user: "dm_user" password: "nI0+yapNOdtbBZD+FRk3IEAMAp68KhRAmo8="
[tidb@tidb53 paul]$ tiup dmctl:v6.5.1 --master-addr=172.20.12.52:18261 operate-source create mysql-source-conf1.yaml Starting component dmctl: /home/tidb/.tiup/components/dmctl/v6.5.1/dmctl/dmctl --master-addr=172.20.12.52:18261 operate-source create mysql-source-conf1.yaml { "result": true, "msg": "", "sources": [ { "result": true, "msg": "", "source": "mysql-replica-01", "worker": "dm-172.20.12.52-18262" } ] } [tidb@tidb53 paul]$ tiup dmctl:v6.5.1 --master-addr=172.20.12.52:18261 operate-source create tidb-source-conf1.yaml Starting component dmctl: /home/tidb/.tiup/components/dmctl/v6.5.1/dmctl/dmctl --master-addr=172.20.12.52:18261 operate-source create tidb-source-conf1.yaml { "result": true, "msg": "", "sources": [ { "result": true, "msg": "", "source": "tidb-replica-01", "worker": "dm-172.20.12.53-18262" } ] }
//获取加密密码 [tidb@tidb53 ~]$ tiup dmctl --encrypt 'q1w2e3R4_' A new version of dmctl is available: v6.5.1 -> v7.5.0 To update this component: tiup update dmctl To update all components: tiup update --all Starting component dmctl: /home/tidb/.tiup/components/dmctl/v6.5.1/dmctl/dmctl --encrypt q1w2e3R4_ 9TkSQ/2bRFtijuOIcvtMrED4pX+t94AObh0= //查看所有数据源 [tidb@tidb53 paul]$ tiup dmctl:v6.5.1 --master-addr=172.20.12.52:18261 operate-source show Starting component dmctl: /home/tidb/.tiup/components/dmctl/v6.5.1/dmctl/dmctl --master-addr=172.20.12.52:18261 operate-source show { "result": true, "msg": "", "sources": [ { "result": true, "msg": "", "source": "mysql-replica-01", "worker": "dm-172.20.12.52-18262" }, { "result": true, "msg": "", "source": "tidb-replica-01", "worker": "dm-172.20.12.53-18262" } ] }
task-mode提供一下几种任务模式,可设为
full - 只进行全量数据迁移
incremental - Binlog 实时同步
all - 全量 + Binlog 实时同步
[tidb@tidb53 paul]$ cat dm_task_all.yaml name: "dm_task202403051" # The name of the task is dm-task. task-mode: all # The task mode is set to full (only migrates full data). ignore-checking-items: ["auto_increment_ID"] # Ignorable checking auto_increment_ID. meta-schema: "dm_meta" clean-dump-file: true target-database: # set the host, port, user and password of the downstream database TiDB. host: "172.20.12.53" port: 8000 user: "dm_user" password: "9TkSQ/2bRFtijuOIcvtMrED4pX+t94AObh0=" mysql-instances: # configure data sources that need to be migrated for the data migration task. - source-id: "mysql-replica-01" route-rules: ["instance-1-user-schema-rule"] filter-rules: ["trace-table-filter-rule"] block-allow-list: "log-ignored" mydumper-config-name: "global" loader-config-name: "global" syncer-config-name: "global" routes: instance-1-user-schema-rule: # The first of the routing mapping rule. schema-pattern: "test" target-schema: "test" filters: trace-table-filter-rule: schema-pattern: "test" table-pattern: "t*" events: ["truncate table", "DROP TABLE"] action: Ignore block-allow-list: log-ignored: ignore-dbs: ["information_schema","mysql","performance_schema","tidb_binlog"] mydumpers: global: threads: 4 chunk-filesize: 64 loaders: global: pool-size: 16 dir: "./dumped_data" import-mode: "logical" on-duplicate: "replace" syncers: global: worker-count: 16 batch: 100 enable-ansi-quotes: true safe-mode: false safe-mode-duration: "60s" compact: true multiple-rows: false
当task-mode为incremental的时候,且下游数据库的 checkpoint 不存在,指定meta读取的 binlog 迁移开始的位置;
如果 meta 项和下游数据库的 checkpoint 都不存在,则从上游当前最新的 binlog 位置开始迁移
[tidb@tidb53 paul]$ cat dm_task_increment.yaml name: "dm_task202403051" # The name of the task is dm-task. task-mode: incremental # The task mode is set to full (only migrates full data). ignore-checking-items: ["auto_increment_ID"] # Ignorable checking auto_increment_ID. meta-schema: "dm_meta" clean-dump-file: true target-database: # set the host, port, user and password of the downstream database TiDB. host: "172.20.12.53" port: 8000 user: "dm_user" password: "9TkSQ/2bRFtijuOIcvtMrED4pX+t94AObh0=" mysql-instances: # configure data sources that need to be migrated for the data migration task. - source-id: "mysql-replica-01" meta: binlog-name: mysqldb-log.000073 binlog-pos: 386800605 binlog-gtid: "" route-rules: ["instance-1-user-schema-rule"] filter-rules: ["trace-table-filter-rule"] block-allow-list: "log-ignored" mydumper-config-name: "global" loader-config-name: "global" syncer-config-name: "global" routes: instance-1-user-schema-rule: # The first of the routing mapping rule. schema-pattern: "test" target-schema: "test" filters: trace-table-filter-rule: schema-pattern: "test" table-pattern: "t*" events: ["truncate table", "DROP TABLE"] action: Ignore block-allow-list: log-ignored: ignore-dbs: ["information_schema","mysql","performance_schema","tidb_binlog"] mydumpers: global: threads: 4 chunk-filesize: 64 loaders: global: pool-size: 16 dir: "./dumped_data" import-mode: "logical" on-duplicate: "replace" syncers: global: worker-count: 16 batch: 100 enable-ansi-quotes: true safe-mode: false safe-mode-duration: "60s" compact: true multiple-rows: false
tiup dmctl:v6.5.1 --master-addr=172.20.12.52:18261 start-task dm_task_all.yaml
tiup dmctl:v6.5.1 --master-addr=172.20.12.52:18261 stop-task dm_task_all.yaml
tiup dmctl:v6.5.1 --master-addr=172.20.12.52:18261 query-status dm_task_all.yaml
tiup dmctl:v6.5.1 --master-addr=172.20.12.52:18261 pause-task dm_task_all.yaml
tiup dmctl:v6.5.1 --master-addr=172.20.12.52:18261 resume-task dm_task_all.yaml
[tidb@tidb53 ~]$ tiup dmctl:v6.5.1 --master-addr=172.20.12.52:18261 start-relay -s mysql-replica-01 Starting component dmctl: /home/tidb/.tiup/components/dmctl/v6.5.1/dmctl/dmctl --master-addr=172.20.12.52:18261 start-relay -s mysql-replica-01 { "result": true, "msg": "", "sources": [ ] }
tiup dmctl:v6.5.1 --master-addr=172.20.12.52:18261 query-status -s mysql-replica-01 Starting component dmctl: /home/tidb/.tiup/components/dmctl/v6.5.1/dmctl/dmctl --master-addr=172.20.12.52:18261 query-status -s mysql-replica-01 { "result": true, "msg": "", "sources": [ { "result": true, "msg": "", "sourceStatus": { "source": "mysql-replica-01", "worker": "dm-172.20.12.52-18262", "result": null, "relayStatus": { "masterBinlog": "(mysqldb-log.000002, 9637)", "masterBinlogGtid": "", "relaySubDir": "5bb7f595-b90b-11ee-ad78-4cd98f4baa6a.000001", "relayBinlog": "(mysqldb-log.000002, 9637)", "relayBinlogGtid": "", "relayCatchUpMaster": true, "stage": "Running", "result": null } }, "subTaskStatus": [ { "name": "dm-task", "stage": "Running", "unit": "Sync", "result": null, "unresolvedDDLLockID": "", "sync": { "totalEvents": "0", "totalTps": "0", "recentTps": "0", "masterBinlog": "(mysqldb-log.000002, 9637)", "masterBinlogGtid": "", "syncerBinlog": "(mysqldb-log.000002, 9637)", "syncerBinlogGtid": "", "blockingDDLs": [ ], "unresolvedGroups": [ ], "synced": true, "binlogType": "local", "secondsBehindMaster": "0", "blockDDLOwner": "", "conflictMsg": "", "totalRows": "0", "totalRps": "0", "recentRps": "0" }, "validation": null } ] } ] }
[tidb@tidb53 paul]$ tiup dm display paul_dm Checking updates for component dm... Timedout (after 2s) Starting component dm: /home/tidb/.tiup/components/dm/v1.14.1/tiup-dm display paul_dm Cluster type: dm Cluster name: paul_dm Cluster version: v6.5.1 Deploy user: tidb SSH type: builtin Grafana URL: http://172.20.12.53:19998 ID Role Host Ports OS/Arch Status Data Dir Deploy Dir -- ---- ---- ----- ------- ------ -------- ---------- 172.20.12.53:19997 alertmanager 172.20.12.53 19997/19996 linux/x86_64 Up /data1/tidb-data/alertmanager-19997 /data1/tidb-deploy/alertmanager-19997 172.20.12.52:18261 dm-master 172.20.12.52 18261/18291 linux/x86_64 Healthy|L /data1/dm-data/dm-master-18261 /data1/dm-deploy/dm-master-18261 172.20.12.53:18261 dm-master 172.20.12.53 18261/18291 linux/x86_64 Healthy /data1/dm-data/dm-master-18261 /data1/dm-deploy/dm-master-18261 172.20.12.70:18261 dm-master 172.20.12.70 18261/18291 linux/x86_64 Healthy /data1/dm-data/dm-master-18261 /data1/dm-deploy/dm-master-18261 172.20.12.52:18262 dm-worker 172.20.12.52 18262 linux/x86_64 Bound /data1/tidb-data/dm-worker-18262 /data1/dm-deploy/dm-worker-18262 172.20.12.53:18262 dm-worker 172.20.12.53 18262 linux/x86_64 Free /data1/tidb-data/dm-worker-18262 /data1/dm-deploy/dm-worker-18262 172.20.12.70:18262 dm-worker 172.20.12.70 18262 linux/x86_64 Bound /data1/tidb-data/dm-worker-18262 /data1/dm-deploy/dm-worker-18262 172.20.12.53:19998 grafana 172.20.12.53 19998 linux/x86_64 Up - /data1/tidb-deploy/grafana-19998 172.20.12.53:19999 prometheus 172.20.12.53 19999 linux/x86_64 Up /data1/tidb-data/prometheus-19999 /data1/tidb-deploy/prometheus-19999 Total nodes: 9
[tidb@tidb53 paul]$ tiup dm scale-in paul_dm -N 172.20.12.53:18262 Checking updates for component dm... Timedout (after 2s) Starting component dm: /home/tidb/.tiup/components/dm/v1.14.1/tiup-dm scale-in paul_dm -N 172.20.12.53:18262 This operation will delete the 172.20.12.53:18262 nodes in `paul_dm` and all their data. Do you want to continue? [y/N]:(default=N) y Scale-in nodes... + [ Serial ] - SSHKeySet: privateKey=/home/tidb/.tiup/storage/dm/clusters/paul_dm/ssh/id_rsa, publicKey=/home/tidb/.tiup/storage/dm/clusters/paul_dm/ssh/id_rsa.pub + [Parallel] - UserSSH: user=tidb, host=172.20.12.53 + [Parallel] - UserSSH: user=tidb, host=172.20.12.52 + [Parallel] - UserSSH: user=tidb, host=172.20.12.53 + [Parallel] - UserSSH: user=tidb, host=172.20.12.52 + [Parallel] - UserSSH: user=tidb, host=172.20.12.70 + [Parallel] - UserSSH: user=tidb, host=172.20.12.70 + [Parallel] - UserSSH: user=tidb, host=172.20.12.53 + [Parallel] - UserSSH: user=tidb, host=172.20.12.53 + [Parallel] - UserSSH: user=tidb, host=172.20.12.53 + [ Serial ] - ScaleInCluster: options={Roles:[] Nodes:[172.20.12.53:18262] Force:false SSHTimeout:5 OptTimeout:120 APITimeout:0 IgnoreConfigCheck:false NativeSSH:false SSHType: Concurrency:5 SSHProxyHost: SSHProxyPort:22 SSHProxyUser:tidb SSHProxyIdentity:/home/tidb/.ssh/id_rsa SSHProxyUsePassword:false SSHProxyTimeout:5 SSHCustomScripts:{BeforeRestartInstance:{Raw:} AfterRestartInstance:{Raw:}} CleanupData:false CleanupLog:false CleanupAuditLog:false RetainDataRoles:[] RetainDataNodes:[] DisplayMode:default Operation:StartOperation} Stopping component dm-worker Stopping instance 172.20.12.53 Stop dm-worker 172.20.12.53:18262 success Destroying component dm-worker Destroying instance 172.20.12.53 Destroy 172.20.12.53 finished - Destroy dm-worker paths: [/data1/dm-deploy/dm-worker-18262 /etc/systemd/system/dm-worker-18262.service /data1/tidb-data/dm-worker-18262 /data1/dm-deploy/dm-worker-18262/log] + [ Serial ] - UpdateMeta: cluster=paul_dm, deleted=`'172.20.12.53:18262'` + Refresh instance configs - Generate config dm-master -> 172.20.12.52:18261 ... Done - Generate config dm-master -> 172.20.12.53:18261 ... Done - Generate config dm-master -> 172.20.12.70:18261 ... Done - Generate config dm-worker -> 172.20.12.52:18262 ... Done - Generate config dm-worker -> 172.20.12.70:18262 ... Done - Generate config prometheus -> 172.20.12.53:19999 ... Done - Generate config grafana -> 172.20.12.53:19998 ... Done - Generate config alertmanager -> 172.20.12.53:19997 ... Done + Reload prometheus and grafana - Reload prometheus -> 172.20.12.53:19999 ... Done - Reload grafana -> 172.20.12.53:19998 ... Done Scaled cluster `paul_dm` in successfully
[tidb@tidb53 paul]$ cat dm_scale.yaml worker_servers: - host: 172.20.12.53 ssh_port: 22 port: 18262 deploy_dir: "/data1/dm-deploy/dm-worker-18262" log_dir: "/data1/dm-deploy/dm-worker-18262/log" config: log-level: info [tidb@tidb53 paul]$ tiup dm scale-out paul_dm dm_scale.yaml Checking updates for component dm... Timedout (after 2s) Starting component dm: /home/tidb/.tiup/components/dm/v1.14.1/tiup-dm scale-out paul_dm dm_scale.yaml + Detect CPU Arch Name - Detecting node 172.20.12.53 Arch info ... Done + Detect CPU OS Name - Detecting node 172.20.12.53 OS info ... Done Please confirm your topology: Cluster type: dm Cluster name: paul_dm Cluster version: v6.5.1 Role Host Ports OS/Arch Directories ---- ---- ----- ------- ----------- dm-worker 172.20.12.53 18262 linux/x86_64 /data1/dm-deploy/dm-worker-18262,/data1/tidb-data/dm-worker-18262 Attention: 1. If the topology is not what you expected, check your yaml file. 2. Please confirm there is no port/directory conflicts in same host. Do you want to continue? [y/N]: (default=N) y + [ Serial ] - SSHKeySet: privateKey=/home/tidb/.tiup/storage/dm/clusters/paul_dm/ssh/id_rsa, publicKey=/home/tidb/.tiup/storage/dm/clusters/paul_dm/ssh/id_rsa.pub + [Parallel] - UserSSH: user=tidb, host=172.20.12.70 + [Parallel] - UserSSH: user=tidb, host=172.20.12.52 + [Parallel] - UserSSH: user=tidb, host=172.20.12.52 + [Parallel] - UserSSH: user=tidb, host=172.20.12.53 + [Parallel] - UserSSH: user=tidb, host=172.20.12.70 + [Parallel] - UserSSH: user=tidb, host=172.20.12.53 + [Parallel] - UserSSH: user=tidb, host=172.20.12.53 + [Parallel] - UserSSH: user=tidb, host=172.20.12.53 + Download TiDB components - Download dm-worker:v6.5.1 (linux/amd64) ... Done + Initialize target host environments + Deploy TiDB instance - Deploy instance dm-worker -> 172.20.12.53:18262 ... Done + Copy certificate to remote host + Generate scale-out config - Generate scale-out config dm-worker -> 172.20.12.53:18262 ... Done + Init monitor config Enabling component dm-worker Enabling instance 172.20.12.53:18262 Enable instance 172.20.12.53:18262 success + [ Serial ] - Save meta + [ Serial ] - Start new instances Starting component dm-worker Starting instance 172.20.12.53:18262 Start instance 172.20.12.53:18262 success + Refresh components conifgs - Generate config dm-master -> 172.20.12.52:18261 ... Done - Generate config dm-master -> 172.20.12.53:18261 ... Done - Generate config dm-master -> 172.20.12.70:18261 ... Done - Generate config dm-worker -> 172.20.12.52:18262 ... Done - Generate config dm-worker -> 172.20.12.70:18262 ... Done - Generate config dm-worker -> 172.20.12.53:18262 ... Done - Generate config prometheus -> 172.20.12.53:19999 ... Done - Generate config grafana -> 172.20.12.53:19998 ... Done - Generate config alertmanager -> 172.20.12.53:19997 ... Done + Reload prometheus and grafana - Reload prometheus -> 172.20.12.53:19999 ... Done - Reload grafana -> 172.20.12.53:19998 ... Done Scaled cluster `paul_dm` out successfully
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。