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
の場合、クラスターのステータスは正常です。