DMバイナリを使用したデータ移行のデプロイ

このドキュメントでは、DMバイナリを使用してデータ移行(DM)クラスタをすばやく展開する方法を紹介します。

ノート:

実稼働環境では、 TiUPを使用してDMクラスタをデプロイするにすることをお勧めします。

準備

次の表のダウンロードリンクを使用して、公式バイナリをダウンロードします。

パッケージ名OS建築SHA256チェックサム
https://download.pingcap.org/dm-{version}-linux-amd64.tar.gzLinuxamd64https://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リリースページで確認できます。

ダウンロードされたファイルには、 binconfの2つのサブディレクトリがあります。 binディレクトリには、DM-master、DM-worker、およびdmctlのバイナリファイルが含まれています。 confディレクトリには、サンプル構成ファイルが含まれています。

サンプルシナリオ

このサンプルシナリオに基づいてDMクラスタを展開するとします。

2つのDM-workerノードと3つのDM-masterノードが5つのサーバーにデプロイされます。

各ノードのアドレスは次のとおりです。

実例サーバーアドレスポート
DM-master1192.168.0.48261
DM-master2192.168.0.58261
DM-master3192.168.0.68261
DM-worker1192.168.0.78262
DM-worker2192.168.0.88262

このシナリオに基づいて、次のセクションでは、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マスターを構成することをお勧めします。

  1. 次の構成を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"
  2. ターミナルで次のコマンドを実行して、DM-masterを実行します。

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

    ノート:

    このコマンドが実行された後、コンソールはログを出力しません。ランタイムログを表示したい場合は、 tail -f dm-master.logを実行できます。

  3. DM-master2とDM-master3の場合、構成ファイルのnameをそれぞれmaster2master3に変更し、 peer-urlsをそれぞれ192.168.0.5:8291192.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を構成することをお勧めします。

  1. 次の構成を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"
  2. ターミナルで次のコマンドを実行して、DM-workerを実行します。

    ./bin/dm-worker -config conf/dm-worker1.toml
  3. DM-worker2の場合、構成ファイルのnameworker2に変更します。次に、手順2を繰り返します。

これで、DMクラスタが正常にデプロイされました。

このページは役に立ちましたか?