TiUP を使用してオフラインで DMクラスタをデプロイする

このドキュメントでは、TiUP を使用して DM クラスターをオフラインで展開する方法について説明します。

手順 1: TiUP オフライン コンポーネント パッケージを準備する

  • TiUP パッケージ マネージャーをオンラインでインストールします。

    1. TiUP ツールをインストールします。

      curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
    2. グローバル環境変数を再宣言します。

      source .bash_profile
    3. TiUP がインストールされているかどうかを確認します。

      which tiup
  • TiUP を使用してミラーをプルします。

    1. インターネットにアクセスできるマシンで必要なコンポーネントをプルします。

      # 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 によって管理されるコンポーネント パッケージが含まれます。

    2. tarコマンドを使用してコンポーネント パッケージをパックし、隔離された環境のコントロール マシンにパッケージを送信します。

      tar czvf tidb-dm-${version}-linux-amd64.tar.gz tidb-dm-${version}-linux-amd64

      tidb-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

出力のStatusUpの場合、クラスターのステータスは正常です。