DMバイナリを使用したデータ移行のデプロイ
このドキュメントでは、DMバイナリを使用してデータ移行(DM)クラスタをすばやく展開する方法を紹介します。
ノート:
実稼働環境では、 TiUPを使用してDMクラスタをデプロイするにすることをお勧めします。
準備
次の表のダウンロードリンクを使用して、公式バイナリをダウンロードします。
パッケージ名 | OS | 建築 | SHA256チェックサム |
---|---|---|---|
https://download.pingcap.org/dm-{version}-linux-amd64.tar.gz | Linux | amd64 | https://download.pingcap.org/dm-{version}-linux-amd64.sha256 |
ノート:
上記のダウンロードリンクの
{version}
は、TiDBのバージョン番号を示します。たとえば、v1.0.1
のダウンロードリンクはhttps://download.pingcap.org/dm-v1.0.1-linux-amd64.tar.gz
です。公開されているDMのバージョンはDMリリースページで確認できます。
ダウンロードされたファイルには、 bin
とconf
の2つのサブディレクトリがあります。 bin
ディレクトリには、DM-master、DM-worker、およびdmctlのバイナリファイルが含まれています。 conf
ディレクトリには、サンプル構成ファイルが含まれています。
サンプルシナリオ
このサンプルシナリオに基づいてDMクラスタを展開するとします。
2つのDM-workerノードと3つのDM-masterノードが5つのサーバーにデプロイされます。
各ノードのアドレスは次のとおりです。
実例 | サーバーアドレス | ポート |
---|---|---|
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クラスタの高可用性を確保する必要がない場合は、DM-masterノードを1つだけデプロイし、デプロイされるDM-workerノードの数は、移行するアップストリームのMySQL/MariaDBインスタンスの数以上である必要があります。
DMクラスタの高可用性を確保するには、3つのDM-masterノードをデプロイすることをお勧めします。デプロイされるDM-workerノードの数は、移行するアップストリームのMySQL / MariaDBインスタンスの数(たとえば、 DMワーカーノードの数は、アップストリームインスタンスの数より2つ多くなります)。
次のコンポーネント間のポートが相互接続されていることを確認してください。
- DMマスターノード間の
8291
のポートは相互接続されています。- 各DMマスターノードは、すべてのDMワーカーノードの
8262
のポートに接続できます。- 各DM-workerノードは、すべてのDM-masterノードの
8261
のポートに接続できます。
DMマスターをデプロイ
コマンドラインパラメータまたは構成ファイルを使用してDMマスターを構成できます。
DM-masterコマンドラインパラメーター
以下は、DM-masterコマンドラインパラメーターの説明です。
./bin/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マスターを構成できない場合があります。このような場合は、代わりに構成ファイルを使用してください。
DMマスター構成ファイル
以下はDM-masterの設定ファイルです。この方法を使用してDMマスターを構成することをお勧めします。
次の構成を
conf/dm-master1.toml
に書き込みます。# Master Configuration. name = "master1" # Log configurations. log-level = "info" log-file = "dm-master.log" # The listening address of DM-master. master-addr = "192.168.0.4:8261" # The peer URLs of DM-master. peer-urls = "192.168.0.4:8291" # The value of `initial-cluster` is the combination of the `advertise-peer-urls` value of all DM-master nodes in the initial cluster. 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を実行します。
./bin/dm-master -config conf/dm-master1.tomlノート:
このコマンドが実行された後、コンソールはログを出力しません。ランタイムログを表示したい場合は、
tail -f dm-master.log
を実行できます。DM-master2とDM-master3の場合、構成ファイルの
name
をそれぞれmaster2
とmaster3
に変更し、peer-urls
をそれぞれ192.168.0.5:8291
と192.168.0.6:8291
に変更します。次に、手順2を繰り返します。
DM-workerをデプロイ
コマンドラインパラメータまたは構成ファイルを使用してDM-workerを構成できます。
DM-workerコマンドラインパラメーター
以下は、DM-workerコマンドラインパラメーターの説明です。
./bin/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構成ファイルです。この方法を使用してDM-workerを構成することをお勧めします。
次の構成を
conf/dm-worker1.toml
に書き込みます。# Worker Configuration. name = "worker1" # Log configuration. log-level = "info" log-file = "dm-worker.log" # DM-worker address. worker-addr = ":8262" # The master-addr configuration of the DM-master nodes in the cluster. join = "192.168.0.4:8261,192.168.0.5:8261,192.168.0.6:8261"ターミナルで次のコマンドを実行して、DM-workerを実行します。
./bin/dm-worker -config conf/dm-worker1.tomlDM-worker2の場合、構成ファイルの
name
をworker2
に変更します。次に、手順2を繰り返します。
これで、DMクラスタが正常にデプロイされました。