TiUP を使用してオフラインで DMクラスタをデプロイする
このドキュメントでは、TiUP を使用して DM クラスターをオフラインで展開する方法について説明します。
手順 1: TiUP オフライン コンポーネント パッケージを準備する
TiUP パッケージ マネージャーをオンラインでインストールします。
TiUP ツールをインストールします。
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | shグローバル環境変数を再宣言します。
source .bash_profileTiUP がインストールされているかどうかを確認します。
which tiup
TiUP を使用してミラーをプルします。
インターネットにアクセスできるマシンで必要なコンポーネントをプルします。
# You can modify ${version} to the needed version. tiup mirror clone tidb-dm-${version}-linux-amd64 --os=linux --arch=amd64 \ --dm-master=${version} --dm-worker=${version} --dmctl=${version} \ --alertmanager=v0.17.0 --grafana=v4.0.3 --prometheus=v4.0.3 \ --tiup=v$(tiup --version|grep 'tiup'|awk -F ' ' '{print $1}') --dm=v$(tiup --version|grep 'tiup'|awk -F ' ' '{print $1}')上記のコマンドは、現在のディレクトリに
tidb-dm-${version}-linux-amd64という名前のディレクトリを作成します。このディレクトリには、TiUP によって管理されるコンポーネント パッケージが含まれます。tarコマンドを使用してコンポーネント パッケージをパックし、隔離された環境のコントロール マシンにパッケージを送信します。tar czvf tidb-dm-${version}-linux-amd64.tar.gz tidb-dm-${version}-linux-amd64tidb-dm-${version}-linux-amd64.tar.gzは独立したオフライン環境パッケージです。
ステップ 2: オフライン TiUP コンポーネントをデプロイ
パッケージをターゲット クラスタの制御マシンに送信した後、次のコマンドを実行して TiUP コンポーネントをインストールします。
# You can modify ${version} to the needed version.
tar xzvf tidb-dm-${version}-linux-amd64.tar.gz
sh tidb-dm-${version}-linux-amd64/local_install.sh
source /home/tidb/.bash_profile
local_install.shスクリプトはtiup mirror set tidb-dm-${version}-linux-amd64コマンドを自動的に実行して、現在のミラー アドレスをtidb-dm-${version}-linux-amd64に設定します。
ミラーを別のディレクトリに切り替えるには、 tiup mirror set <mirror-dir>コマンドを手動で実行します。公式ミラーに戻したい場合は、 tiup mirror set https://tiup-mirrors.pingcap.comを実行します。
ステップ 3: 初期化構成ファイルを編集する
さまざまなクラスター トポロジに従って、クラスター初期化構成ファイルを編集する必要があります。
完全な構成テンプレートについては、 TiUP 構成パラメータ テンプレートを参照してください。構成ファイルを作成します。 topology.yaml .他の組み合わせたシナリオでは、テンプレートに従って、必要に応じて構成ファイルを編集します。
3 つの DM-master、3 つの DM-worker、および 1 つの監視コンポーネント インスタンスを展開する構成は次のとおりです。
---
global:
  user: "tidb"
  ssh_port: 22
  deploy_dir: "/home/tidb/dm/deploy"
  data_dir: "/home/tidb/dm/data"
  # arch: "amd64"
master_servers:
  - host: 172.19.0.101
  - host: 172.19.0.102
  - host: 172.19.0.103
worker_servers:
  - host: 172.19.0.101
  - host: 172.19.0.102
  - host: 172.19.0.103
monitoring_servers:
  - host: 172.19.0.101
grafana_servers:
  - host: 172.19.0.101
alertmanager_servers:
  - host: 172.19.0.101
ノート:
DM クラスターの高可用性を確保する必要がない場合は、DM マスター ノードを 1 つだけデプロイします。デプロイされる DM ワーカー ノードの数は、移行するアップストリームの MySQL/MariaDB インスタンスの数以上でなければなりません。
DM クラスターの高可用性を確保するには、3 つの DM マスター ノードをデプロイすることをお勧めします。デプロイされる DM ワーカー ノードの数は、移行する上流の MySQL/MariaDB インスタンスの数よりも多くする必要があります (たとえば、数DM-worker ノードの数は、アップストリーム インスタンスの数よりも 2 つ多くなります)。
グローバルに有効なパラメーターについては、構成ファイルの
server_configsセクションで、対応するコンポーネントのこれらのパラメーターを構成します。特定のノードで有効にする必要があるパラメーターについては、このノードの
configつでこれらのパラメーターを構成します。
.を使用して、構成のサブカテゴリ (log.slow-thresholdなど) を示します。その他の形式については、 TiUP 構成テンプレートを参照してください。パラメータの詳細については、 マスター
config.toml.exampleおよびワーカーconfig.toml.exampleを参照してください。次のコンポーネント間のポートが相互接続されていることを確認してください。
- DM-master ノードの
 peer_port(デフォルトでは8291) は相互接続されています。- 各 DM-master ノードは、すべての DM-worker ノードの
 portつ (デフォルトでは8262) に接続できます。- 各 DM-worker ノードは、すべての DM-master ノードの
 portつ (デフォルトでは8261) に接続できます。- TiUP ノードは、すべての DM マスター ノードの
 portつ (デフォルトでは8261) に接続できます。- TiUP ノードは、すべての DM-worker ノードの
 port(デフォルトでは8262) に接続できます。
ステップ 4: デプロイ コマンドを実行する
ノート:
TiUP を使用して DM を展開する場合、セキュリティ認証に秘密鍵または対話型パスワードを使用できます。
- 秘密鍵を使用する場合は、
 -iまたは--identity_fileで鍵のパスを指定できます。- パスワードを使用する場合は、
 -pフラグを追加してパスワード インタラクション ウィンドウに入ります。- ターゲット マシンへのパスワードなしのログインが設定されている場合、認証は必要ありません。
 
tiup dm deploy dm-test ${version} ./topology.yaml --user root [-p] [-i /home/root/.ssh/gcp_rsa]
上記のコマンドで:
- デプロイされた DM クラスターの名前は
dm-testです。 - DM クラスターのバージョンは
${version}です。tiup list dm-masterを実行すると、TiUP でサポートされている最新バージョンを表示できます。 - 初期設定ファイルは
topology.yamlです。 --user root:rootキーを使用してターゲット マシンにログインし、クラスターのデプロイを完了します。または、sshおよびsudoの権限を持つ他のユーザーを使用してデプロイを完了できます。[-i]および[-p]: オプション。パスワードなしでターゲット マシンへのログインを構成した場合、これらのパラメーターは必要ありません。そうでない場合は、2 つのパラメーターのいずれかを選択します。[-i]は、ターゲット マシンにアクセスできるrootユーザー (または--userで指定された他のユーザー) の秘密鍵です。[-p]は、対話的にユーザーパスワードを入力するために使用されます。- TiUP DMは組み込みの SSH クライアントを使用します。制御マシン システムにネイティブな SSH クライアントを使用する場合は、 システムのネイティブ SSH クライアントを使用してクラスターに接続するに従って構成を編集します。
 
出力ログの最後に、 Deployed cluster `dm-test` successfullyが表示されます。これは、デプロイが成功したことを示します。
ステップ 5: TiUP によって管理されているクラスターを確認する
tiup dm list
TiUP は、複数の DM クラスターの管理をサポートしています。上記のコマンドは、TiUP によって現在管理されているすべてのクラスターの情報を出力します。これには、名前、デプロイ ユーザー、バージョン、秘密鍵の情報が含まれます。
Name  User  Version  Path                                  PrivateKey
----  ----  -------  ----                                  ----------
dm-test  tidb  ${version}  /root/.tiup/storage/dm/clusters/dm-test  /root/.tiup/storage/dm/clusters/dm-test/ssh/id_rsa
ステップ 6: デプロイされた DM クラスターのステータスを確認する
dm-testクラスタのステータスを確認するには、次のコマンドを実行します。
tiup dm display dm-test
予想される出力には、インスタンス ID、ロール、ホスト、リスニング ポート、ステータス (クラスターがまだ開始されていないため、ステータスはDown / inactiveです)、およびdm-testクラスターのディレクトリ情報が含まれます。
ステップ 7: クラスターを開始する
tiup dm start dm-test
出力ログにStarted cluster `dm-test` successfullyが含まれていれば、開始は成功しています。
ステップ 8: クラスターの実行ステータスを確認する
TiUP を使用して DM クラスタのステータスを確認します。
tiup dm display dm-test
出力のStatusがUpの場合、クラスターのステータスは正常です。