TiUPを使用して TiDBクラスタをデプロイ

TiUPは、TiDB 4.0 で導入されたクラスター運用保守ツールです。 TiUP は、 Golangで記述されたクラスター管理コンポーネントであるTiUPクラスター提供します。 TiUPクラスターを使用すると、TiDB クラスターのデプロイ、開始、停止、破棄、スケーリング、およびアップグレードを含む日常のデータベース操作を簡単に実行し、TiDB クラスターのパラメーターを管理できます。

TiUP は、TiDB、 TiFlash、TiDB Binlog、TiCDC、および監視システムの展開をサポートしています。このドキュメントでは、さまざまなトポロジの TiDB クラスターをデプロイする方法を紹介します。

ステップ 1. 前提条件と事前チェック

次のドキュメントを読んだことを確認してください。

ステップ 2. 制御マシンにTiUPをデプロイ

コントロール マシンにTiUP を展開するには、オンライン展開とオフライン展開の 2 つの方法があります。

TiUPをオンラインでデプロイ

通常のユーザー アカウントを使用して制御マシンにログインします (例としてtidbユーザーを取り上げます)。以降のTiUP のインストールとクラスター管理はtidbユーザーで実行できます。

  1. 次のコマンドを実行してTiUPをインストールします。

    curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
  2. TiUP環境変数を設定します。

    1. グローバル環境変数を再宣言します。

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

      which tiup
  3. TiUPクラスターコンポーネントをインストールします。

    tiup cluster
  4. TiUPが既にインストールされている場合は、 TiUPクラスターコンポーネントを最新バージョンに更新します。

    tiup update --self && tiup update cluster

    Update successfully!が表示されれば、 TiUPクラスターは正常に更新されています。

  5. TiUPクラスターの現在のバージョンを確認します。

    tiup --binary cluster

TiUP をオフラインでデプロイ

TiUPを使用して TiDB クラスターをオフラインでデプロイするには、このセクションの次の手順を実行します。

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

方法 1: 公式ダウンロードページで、対象の TiDB バージョンのオフライン ミラー パッケージ (TiUPオフライン パッケージが含まれる) を選択します。サーバーパッケージとツールキット パッケージを同時にダウンロードする必要があることに注意してください。

方法 2: tiup mirror cloneを使用してオフラインコンポーネントパッケージを手動でパックします。詳細な手順は次のとおりです。

  1. 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
  2. TiUPを使用してミラーを引き出します。

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

      tiup mirror clone tidb-community-server-${version}-linux-amd64 ${version} --os=linux --arch=amd64

      上記のコマンドは、現在のディレクトリにtidb-community-server-${version}-linux-amd64という名前のディレクトリを作成します。このディレクトリには、クラスターの起動に必要なコンポーネントパッケージが含まれています。

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

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

      tidb-community-server-${version}-linux-amd64.tar.gzは独立したオフライン環境パッケージです。

  3. オフライン ミラーをカスタマイズするか、既存のオフライン ミラーの内容を調整します。

    既存のオフライン ミラーを調整する (新しいバージョンのコンポーネントを追加するなど) 場合は、次の手順を実行します。

    1. オフライン ミラーをプルする場合、コンポーネントやバージョン情報などのパラメータを介して特定の情報を指定することで、不完全なオフライン ミラーを取得できます。たとえば、次のコマンドを実行して、 TiUP v1.11.3 とTiUP クラスタ v1.11.3 のオフライン ミラーのみを含むオフライン ミラーをプルできます。

      tiup mirror clone tiup-custom-mirror-v1.11.3 --tiup v1.11.3 --cluster v1.11.3

      特定のプラットフォーム用のコンポーネントのみが必要な場合は、 --osまたは--archパラメーターを使用して指定できます。

    2. 「 TiUPを使用してミラーをプルする」の手順 2 を参照して、この不完全なオフライン ミラーを隔離環境の制御マシンに送信します。

    3. 隔離された環境の制御マシンで、現在のオフライン ミラーのパスを確認します。 TiUPツールが最近のバージョンの場合、次のコマンドを実行して現在のミラー アドレスを取得できます。

      tiup mirror show

      上記のコマンドの出力がshowコマンドが存在しないことを示している場合は、古いバージョンのTiUPを使用している可能性があります。この場合、現在のミラー アドレスは$HOME/.tiup/tiup.tomlから取得できます。このミラー アドレスを記録します。次の手順では、このアドレスを参照するために${base_mirror}が使用されます。

    4. 不完全なオフライン ミラーを既存のオフライン ミラーにマージします。

      まず、現在のオフライン ミラーのkeysディレクトリを$HOME/.tiupディレクトリにコピーします。

      cp -r ${base_mirror}/keys $HOME/.tiup/

      次に、 TiUPコマンドを使用して、不完全なオフライン ミラーを使用中のミラーにマージします。

      tiup mirror merge tiup-custom-mirror-v1.11.3
    5. 上記の手順が完了したら、 tiup listコマンドを実行して結果を確認します。このドキュメントの例では、 tiup list tiuptiup list clusterの両方の出力が、 v1.11.3の対応するコンポーネントが利用可能であることを示しています。

オフラインTiUPコンポーネントをデプロイ

パッケージをターゲット クラスタの制御マシンに送信した後、次のコマンドを実行してTiUPコンポーネントをインストールします。

tar xzvf tidb-community-server-${version}-linux-amd64.tar.gz && \ sh tidb-community-server-${version}-linux-amd64/local_install.sh && \ source /home/tidb/.bash_profile

local_install.shスクリプトはtiup mirror set tidb-community-server-${version}-linux-amd64コマンドを自動的に実行して、現在のミラー アドレスをtidb-community-server-${version}-linux-amd64に設定します。

オフライン パッケージをマージする

公式ダウンロードページからオフライン パッケージをダウンロードする場合は、サーバーパッケージとツールキット パッケージをオフライン ミラーにマージする必要があります。 tiup mirror cloneコマンドを使用してオフラインコンポーネントパッケージを手動でパッケージ化する場合は、この手順を省略できます。

次のコマンドを実行して、オフライン ツールキット パッケージをサーバーパッケージ ディレクトリにマージします。

tar xf tidb-community-toolkit-${version}-linux-amd64.tar.gz ls -ld tidb-community-server-${version}-linux-amd64 tidb-community-toolkit-${version}-linux-amd64 cd tidb-community-server-${version}-linux-amd64/ cp -rp keys ~/.tiup/ tiup mirror merge ../tidb-community-toolkit-${version}-linux-amd64

ミラーを別のディレクトリに切り替えるには、 tiup mirror set <mirror-dir>コマンドを実行します。ミラーをオンライン環境に切り替えるには、 tiup mirror set https://tiup-mirrors.pingcap.comコマンドを実行します。

手順 3. クラスター トポロジ ファイルを初期化する

次のコマンドを実行して、クラスター トポロジ ファイルを作成します。

tiup cluster template > topology.yaml

次の 2 つの一般的なシナリオでは、コマンドを実行して、推奨されるトポロジ テンプレートを生成できます。

  • ハイブリッド デプロイの場合: 複数のインスタンスが 1 台のマシンにデプロイされます。詳細については、 ハイブリッド展開トポロジを参照してください。

    tiup cluster template --full > topology.yaml
  • 地理的に分散した配置の場合: TiDB クラスターは、地理的に分散したデータ センターに配置されます。詳細については、 地理的に分散された展開トポロジを参照してください。

    tiup cluster template --multi-dc > topology.yaml

vi topology.yamlを実行して、構成ファイルの内容を確認します。

global: user: "tidb" ssh_port: 22 deploy_dir: "/tidb-deploy" data_dir: "/tidb-data" server_configs: {} pd_servers: - host: 10.0.1.4 - host: 10.0.1.5 - host: 10.0.1.6 tidb_servers: - host: 10.0.1.7 - host: 10.0.1.8 - host: 10.0.1.9 tikv_servers: - host: 10.0.1.1 - host: 10.0.1.2 - host: 10.0.1.3 monitoring_servers: - host: 10.0.1.4 grafana_servers: - host: 10.0.1.4 alertmanager_servers: - host: 10.0.1.4

次の例では、7 つの一般的なシナリオについて説明します。対応するリンクのトポロジの説明とテンプレートに従って、構成ファイル (名前はtopology.yaml ) を変更する必要があります。その他のシナリオでは、それに応じて構成テンプレートを編集します。

応用コンフィグレーションタスクコンフィグレーションファイルのテンプレートトポロジの説明
OLTP最小限のトポロジをデプロイシンプルな最小限の構成テンプレート
完全な最小構成テンプレート
これは、tidb-server、tikv-server、および pd-server を含む基本的なクラスター トポロジです。
HTAPTiFlashトポロジをデプロイシンプルなTiFlash構成テンプレート
完全なTiFlash構成テンプレート
これは、最小限のクラスター トポロジと共にTiFlashをデプロイするためのものです。 TiFlashは柱状のstorageエンジンであり、徐々に標準のクラスター トポロジーになります。
TiCDCを使用して増分データをレプリケートするTiCDC トポロジをデプロイシンプルな TiCDC 構成テンプレート
完全な TiCDC 構成テンプレート
これは、最小限のクラスター トポロジと共に TiCDC をデプロイすることです。 TiCDC は、TiDB、MySQL、MQ など、複数のダウンストリーム プラットフォームをサポートしています。
TiDBBinlogを使用して増分データをレプリケートするTiDB Binlogトポロジをデプロイシンプルな TiDB Binlog構成テンプレート (MySQL をダウンストリームとして)
シンプルな TiDB Binlog構成テンプレート (ダウンストリームとしてのファイル)
完全な TiDB Binlog構成テンプレート
これは、最小限のクラスター トポロジと共に TiDB Binlogをデプロイするためのものです。
Spark で OLAP を使用するTiSpark トポロジをデプロイシンプルな TiSpark 構成テンプレート
完全な TiSpark 構成テンプレート
これは、最小限のクラスター トポロジと共に TiSpark をデプロイするためのものです。 TiSpark は、TiDB/TiKV 上で Apache Spark を実行して OLAP クエリに応答するために構築されたコンポーネントです。現在、TiSpark に対するTiUPクラスターのサポートはまだ実験的です。
複数のインスタンスを 1 台のマシンにデプロイハイブリッド トポロジをデプロイハイブリッド展開用のシンプルな構成テンプレート
ハイブリッド展開用の完全な構成テンプレート
デプロイ トポロジは、ディレクトリ、ポート、リソース比率、およびラベルの構成を追加する必要がある場合にも適用されます。
データセンター全体に TiDB クラスターをデプロイ地理的に分散した展開トポロジをデプロイ地理的に分散した配置のコンフィグレーションテンプレートこのトポロジは、例として 2 つの都市にある 3 つのデータ センターの典型的なアーキテクチャを取り上げています。地理的に分散したデプロイアーキテクチャと、注意が必要な主要な構成について説明します。

ノート:

  • グローバルに有効なパラメーターについては、構成ファイルのserver_configsセクションで、対応するコンポーネントのこれらのパラメーターを構成します。
  • 特定のノードで有効にする必要があるパラメーターについては、このノードのconfigでこれらのパラメーターを構成します。
  • .を使用して、構成のサブカテゴリlog.slow-thresholdなど) を示します。その他の形式については、 TiUP構成テンプレートを参照してください。
  • ターゲット マシンに作成するユーザー グループ名を指定する必要がある場合は、 この例を参照してください。

構成の詳細については、次の構成例を参照してください。

ステップ 4. デプロイ コマンドを実行する

ノート:

TiUPを使用して TiDB をデプロイする場合、セキュリティ認証に秘密鍵または対話型パスワードを使用できます。

  • 秘密鍵を使用する場合は、鍵のパスを-iまたは--identity_fileで指定します。
  • パスワードを使用する場合は、 -pフラグを追加して、パスワード インタラクション ウィンドウに入ります。
  • ターゲット マシンへのパスワードなしのログインが設定されている場合、認証は必要ありません。

一般に、 TiUP は、次の例外を除いて、ターゲット マシン上のtopology.yamlファイルで指定されたユーザーとグループを作成します。

  • topology.yamlで構成されたユーザー名は、ターゲット マシンに既に存在します。
  • コマンド ラインで--skip-create-userオプションを使用して、ユーザーを作成する手順を明示的にスキップしました。

deployコマンドを実行する前に、 checkおよびcheck --applyコマンドを使用して、クラスター内の潜在的なリスクを検出し、自動的に修復します。

  1. 潜在的なリスクを確認します。

    tiup cluster check ./topology.yaml --user root [-p] [-i /home/root/.ssh/gcp_rsa]
  2. 自動修復を有効にします。

    tiup cluster check ./topology.yaml --apply --user root [-p] [-i /home/root/.ssh/gcp_rsa]
  3. TiDB クラスターをデプロイ。

    tiup cluster deploy tidb-test v6.5.2 ./topology.yaml --user root [-p] [-i /home/root/.ssh/gcp_rsa]

上記のtiup cluster deployコマンドで:

  • tidb-testは、デプロイする TiDB クラスターの名前です。
  • v6.5.2は、デプロイする TiDB クラスターのバージョンです。 tiup list tidbを実行すると、サポートされている最新のバージョンを確認できます。
  • topology.yamlは初期設定ファイルです。
  • --user root 、ターゲット マシンにrootユーザーとしてログインして、クラスターの展開を完了することを示します。 root人のユーザーは、ターゲット マシンに対してsshsudo権限を持つことが期待されます。または、 sshおよびsudo権限を持つ他のユーザーを使用して展開を完了することもできます。
  • [-i][-p]はオプションです。パスワードなしでターゲット マシンへのログインを設定した場合、これらのパラメータは必要ありません。そうでない場合は、2 つのパラメーターのいずれかを選択します。 [-i]は、ターゲット マシンにアクセスできる root ユーザー (または--userで指定された他のユーザー) の秘密鍵です。 [-p]は、対話的にユーザーパスワードを入力するために使用されます。

出力ログの最後に、 Deployed cluster `tidb-test` successfullyが表示されます。これは、デプロイが成功したことを示します。

ステップ 5. TiUPによって管理されているクラスターを確認する

tiup cluster list

TiUP は、複数の TiDB クラスターの管理をサポートしています。上記のコマンドは、現在TiUPによって管理されているすべてのクラスターの情報を出力します。これには、クラスター名、デプロイ ユーザー、バージョン、秘密鍵の情報が含まれます。

ステップ 6. デプロイされた TiDB クラスターのステータスを確認する

たとえば、次のコマンドを実行してtidb-testクラスターのステータスを確認します。

tiup cluster display tidb-test

予想される出力には、インスタンス ID、ロール、ホスト、リスニング ポート、ステータス (クラスターがまだ開始されていないため、ステータスはDown / inactiveです)、およびディレクトリ情報が含まれます。

ステップ 7. TiDB クラスターを開始する

TiUP cluster v1.9.0以降、新しい起動方法としてセーフスタートが導入されました。この方法でデータベースを起動すると、データベースのセキュリティが向上します。この方法を使用することをお勧めします。

安全な起動後、 TiUP はTiDB root ユーザーのパスワードを自動的に生成し、コマンドライン インターフェイスでパスワードを返します。

ノート:

  • TiDB クラスターを安全に起動した後、パスワードなしで root ユーザーを使用して TiDB にログインすることはできません。したがって、今後のログインのために、コマンド出力で返されるパスワードを記録する必要があります。

  • パスワードは一度だけ生成されます。記録していない場合や忘れてしまった場合は、 rootパスワードを忘れるを参照してパスワードを変更してください。

方法 1: 安全なスタート

tiup cluster start tidb-test --init

出力が次のようになっていれば、開始は成功しています。

Started cluster `tidb-test` successfully. The root password of TiDB database has been changed. The new password is: 'y_+3Hwp=*AWz8971s6'. Copy and record it to somewhere safe, it is only displayed once, and will not be stored. The generated password can NOT be got again in future.

方法 2: 標準スタート

tiup cluster start tidb-test

出力ログにStarted cluster `tidb-test` successfullyが含まれていれば、開始は成功しています。標準起動後、パスワードなしで root ユーザーを使用してデータベースにログインできます。

ステップ 8. TiDB クラスターの実行ステータスを確認する

tiup cluster display tidb-test

出力ログにUpステータスが表示されている場合、クラスターは正常に動作しています。

こちらもご覧ください

TiFlash TiDB クラスターと共にデプロイした場合は、次のドキュメントを参照してください。

TiCDC TiDB クラスターと共にデプロイした場合は、次のドキュメントを参照してください。

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

Playground
登録なしで TiDB の機能をワンストップでインタラクティブに体験できます。
製品
TiDB Dedicated
TiDB Serverless
TiDB
価格
PoC お問い合わせ
エコシステム
TiKV
TiFlash
OSS Insight
© 2024 PingCAP. All Rights Reserved.
Privacy Policy.