使用 dmctl 运维集群

dmctl 是用来运维 DM 集群的命令行工具,支持交互模式和命令模式。

dmctl 交互模式

进入交互模式,与 DM-master 进行交互:

./dmctl --master-addr 172.16.30.14:8261
Welcome to dmctl Release Version: ${version} Git Commit Hash: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Git Branch: release-x.x UTC Build Time: yyyy-mm-dd hh:mm:ss Go Version: go version gox.xx linux/amd64 » help DM control Usage: dmctl [command] Available Commands: binlog manage or show binlog operations binlog-schema manage or show table schema in schema tracker check-task Checks the configuration file of the task config manage config operations decrypt Decrypts cipher text to plain text encrypt Encrypts plain text to cipher text help Gets help about any command list-member Lists member information offline-member Offlines member which has been closed operate-leader `evict`/`cancel-evict` the leader operate-source `create`/`stop`/`show` upstream MySQL/MariaDB source pause-relay Pauses DM-worker's relay unit pause-task Pauses a specified running task or all (sub)tasks bound to a source purge-relay Purges relay log files of the DM-worker according to the specified filename query-status Queries task status resume-relay Resumes DM-worker's relay unit resume-task Resumes a specified paused task or all (sub)tasks bound to a source shard-ddl-lock maintain or show shard-ddl locks information start-relay Starts workers pulling relay log for a source start-task Starts a task as defined in the configuration file stop-relay Stops workers pulling relay log for a source stop-task Stops a specified task or all (sub)tasks bound to a source transfer-source Transfers a upstream MySQL/MariaDB source to a free worker Flags: -h, --help help for dmctl -s, --source strings MySQL Source ID. Use "dmctl [command] --help" for more information about a command.

dmctl 命令模式

命令模式跟交互模式的区别是,执行命令时只需要在 dmctl 命令后紧接着执行任务操作,任务操作同交互模式的参数一致。

./dmctl --master-addr 172.16.30.14:8261 start-task task.yaml ./dmctl --master-addr 172.16.30.14:8261 stop-task task ./dmctl --master-addr 172.16.30.14:8261 query-status export DM_MASTER_ADDR="172.16.30.14:8261" ./dmctl query-status
Available Commands: binlog manage or show binlog operations binlog-schema manage or show table schema in schema tracker check-task Checks the configuration file of the task config manage config operations decrypt Decrypts cipher text to plain text encrypt Encrypts plain text to cipher text help Gets help about any command list-member Lists member information offline-member Offlines member which has been closed operate-leader `evict`/`cancel-evict` the leader operate-source `create`/`stop`/`show` upstream MySQL/MariaDB source pause-relay Pauses DM-worker's relay unit pause-task Pauses a specified running task or all (sub)tasks bound to a source purge-relay Purges relay log files of the DM-worker according to the specified filename query-status Queries task status resume-relay Resumes DM-worker's relay unit resume-task Resumes a specified paused task or all (sub)tasks bound to a source shard-ddl-lock maintain or show shard-ddl locks information start-relay Starts workers pulling relay log for a source start-task Starts a task as defined in the configuration file stop-relay Stops workers pulling relay log for a source stop-task Stops a specified task or all (sub)tasks bound to a source transfer-source Transfers a upstream MySQL/MariaDB source to a free worker Flags: --config string Path to config file. -h, --help help for dmctl --master-addr string Master API server address, this parameter is required when interacting with the dm-master --rpc-timeout string RPC timeout, default is 10m. (default "10m") -s, --source strings MySQL Source ID. --ssl-ca string Path of file that contains list of trusted SSL CAs for connection. --ssl-cert string Path of file that contains X509 certificate in PEM format for connection. --ssl-key string Path of file that contains X509 key in PEM format for connection. -V, --version Prints version and exit. Use "dmctl [command] --help" for more information about a command.