📣
TiDB Cloud Premium はパブリックプレビュー中です。エンタープライズワークロード向けの無制限のスケーリング、即時の弾力性、高度なセキュリティを提供します。このページは自動翻訳されたものです。原文はこちらからご覧ください。

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



このガイドでは、本番環境でTiUPを使用してTiDBセルフマネージドクラスタをデプロイする方法について説明します。

TiUPは、TiDB v4.0で導入されたクラスタ運用・保守ツールです。TiUP TiUPクラスターは、TiDBクラスタを管理するためのGolangベースのコンポーネントです。TiUPクラスタを使用することで、 TiUPクラスタのデプロイ、起動、停止、削除、スケーリング、アップグレード、およびTiDBクラスタパラメータの管理といった、日常的なデータベース操作を容易に実行できます。

TiUPは、TiDB、 TiFlash、TiCDC、および監視システムのデプロイもサポートしています。このガイドでは、さまざまなトポロジーでTiDBクラスタをデプロイする方法について説明します。

ステップ1.前提条件と事前確認

以下の文書を必ずお読みください。

さらに、 TiDBSecurityコンフィグレーションのベストプラクティス学習することをお勧めします。

ステップ2. 制御機にTiUPをデプロイ

TiUPを制御マシンに展開するには、オンライン展開とオフライン展開の2つの方法があります。

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

注記:

TiUP環境がオフラインに切り替わった場合は、 TiUPをオフラインでデプロイデプロイ」の展開を参照してください。そうしないと、 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

    Updated successfully!が表示された場合、 TiUPクラスタは正常に更新されています。

  5. TiUPクラスターの現在のバージョンを確認してください。

    tiup --binary cluster

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

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

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

方法 1 : 以下のリンクを使用して、対象の TiDB バージョンのオフライン バイナリ パッケージ (TiUPオフライン パッケージを含む) をダウンロードします。サーバーとツールキット パッケージの両方をダウンロードする必要があります。ダウンロードするとプライバシーポリシー次の規約に同意したことになります。 。

https://download.pingcap.com/tidb-community-server-{version}-linux-{arch}.tar.gz
https://download.pingcap.com/tidb-community-toolkit-{version}-linux-{arch}.tar.gz

ヒント:

リンク内の{version}は TiDB のバージョン番号を示し、 {arch}システムのアーキテクチャを示し、 amd64またはarm64のいずれかになります。たとえば、 v8.5.4アーキテクチャのamd64のダウンロードリンクはhttps://download.pingcap.com/tidb-community-toolkit-v8.5.4-linux-amd64.tar.gzです。

方法2tiup 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.12.3 とTiUP クラスタ v1.12.3 のオフラインミラーのみを含むオフラインミラーを取得できます。

      tiup mirror clone tiup-custom-mirror-v1.12.3 --tiup v1.12.3 --cluster v1.12.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.12.3
    5. 上記の手順が完了したら、 tiup listコマンドを実行して結果を確認します。このドキュメントの例では、 tiup list tiuptiup list clusterの両方の出力からv1.12.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

以下の例では、6つの一般的なシナリオを取り上げています。対応するリンク先のトポロジーの説明とテンプレートに従って、構成ファイル( topology.yamlという名前)を変更する必要があります。その他のシナリオについては、構成テンプレートを適切に編集してください。

応用コンフィグレーションタスクコンフィグレーションファイルテンプレートトポロジーの説明
OLTP最小限のトポロジーをデプロイシンプルな最小限の構成テンプレート
完全な最小構成テンプレート
これは、tidb-server、tikv-server、およびpd-serverを含む基本的なクラスタトポロジーです。
HTAPTiFlashトポロジーをデプロイシンプルなTiFlash設定テンプレート
TiFlashの完全な構成テンプレート
これは、最小限のクラスタトポロジーとともにTiFlashをデプロイするためのものです。TiFlashはカラム型storageエンジンであり、徐々に標準的なクラスタトポロジーへと進化していきます。
TiCDCを使用して増分データを複製するTiCDCトポロジーをデプロイシンプルなTiCDC構成テンプレート
TiCDC構成テンプレート全体
これは、最小限のクラスタトポロジーとともにTiCDCをデプロイするためのものです。TiCDCは、TiDB、MySQL、Kafka、MQ、storageサービスなど、複数のダウンストリームプラットフォームをサポートしています。
1台のマシンに複数のインスタンスをデプロイハイブリッドトポロジーをデプロイハイブリッド展開用のシンプルな構成テンプレート
ハイブリッド展開用の完全な構成テンプレート
ディレクトリ、ポート、リソース比率、ラベルなどの追加設定が必要な場合にも、デプロイメントトポロジーが適用されます。
TiDBクラスターをデータセンター全体にデプロイ地理的に分散したデプロイメントトポロジーをデプロイ地理的に分散したデプロイメントのためのコンフィグレーションテンプレートこのトポロジーは、2つの都市に3つのデータセンターを配置する典型的なアーキテクチャを例として取り上げています。地理的に分散したデプロイメントアーキテクチャと、注意すべき重要な構成について解説します。

注記:

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

設定の詳細については、以下の設定例を参照してください。

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

注記:

TiUP ( --userで指定) を介してクラスタをデプロイする際に初期化に使用するユーザーを、キーまたはクロスパスワードのいずれかを使用して安全に認証できます。

  • 秘密鍵を使用する場合は、 -iまたは--identity_fileを使用して鍵のパスを指定します。
  • パスワードを使用する場合は、 -pフラグを追加して、パスワード入力ウィンドウを開きます。
  • 対象マシンへのパスワード不要ログインが設定されている場合、認証は不要です。

一般的に、 TiUPが実際にプロセスを実行するために使用するユーザーとグループ ( topology.yamlで指定され、デフォルト値はtidbです) は、次の例外を除き、ターゲット マシン上に自動的に作成されます。

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

topology.yamlで合意されたユーザーとグループが自動的に作成されるかどうかに関わらず、 TiUPは自動的にSSHキーのペアを生成し、各マシン上でそのユーザーに対してシークレットフリーのログインを設定します。このユーザーとSSHキーは、以降のすべての操作でマシンを管理するために使用され、初期化に使用されたユーザーとパスワードは、デプロイ完了後は使用されなくなります。

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 v8.5.4 ./topology.yaml --user root [-p] [-i /home/root/.ssh/gcp_rsa]

上記のtiup cluster deployコマンドでは、次のようになります。

  • tidb-testは、デプロイされる TiDB クラスタの名前です。
  • v8.5.4は、デプロイする TiDB クラスタのバージョンです。 tiup list tidbを実行すると、サポートされている最新バージョンを確認できます。
  • topology.yamlは初期化設定ファイルです。
  • --user root rootユーザーとしてターゲット マシンにログインし、クラスタのデプロイを完了することを示します。 rootユーザーは、ターゲット マシンに対してsshおよびsudoの権限を持っている必要があります。あるいは、 sshおよびsudoの権限を持つ他のユーザーを使用してデプロイを完了することもできます。
  • [-i][-p]はオプションです。ターゲット マシンへのログインをパスワードなしで設定している場合は、これらのパラメーターは不要です。そうでない場合は、2 つのパラメーターのいずれかを選択してください。 [-i]は、ターゲット マシンへのアクセス権を持つルート ユーザー (または--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にログインすることはできません。そのため、今後のログインのために、コマンド出力に表示されるパスワードを記録しておく必要があります。
  • パスワードは 1 回だけ生成されます。記録していない場合、または忘れた場合は、 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ステータスが表示されている場合、クラスターは正常に動作しています。

関連項目

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

TiDBクラスタとともにTiCDCをデプロイしている場合は、データのストリーミング方法について以下のドキュメントを参照してください。

オンライン サービスを中断せずに TiDB クラスターをスケールアウトまたはスケールインしたい場合は、 TiUPを使用してTiDBクラスタをスケーリングする参照してください。

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