ローカル TiDBクラスタをすばやくデプロイする

TiDB クラスターは、複数のコンポーネントで構成される分散システムです。一般的な TiDB クラスターは、少なくとも 3 つの PD ノード、3 つの TiKV ノード、および 2 つの TiDB ノードで構成されます。 TiDB を手早く体験したい場合、非常に多くのコンポーネントを手動で展開するのは時間がかかり、複雑であることに気付くかもしれません。このドキュメントでは、TiUP のプレイグラウンド コンポーネントと、それを使用してローカルの TiDB テスト環境をすばやく構築する方法を紹介します。

TiUPプレイグラウンド概要

プレイグラウンド コンポーネントの基本的な使用方法は次のとおりです。

tiup playground ${version} [flags]

tiup playgroundコマンドを直接実行すると、TiUP はローカルにインストールされた TiDB、TiKV、および PD コンポーネントを使用するか、これらのコンポーネントの安定バージョンをインストールして、1 つの TiKV インスタンス、1 つの TiDB インスタンス、1 つの PD インスタンス、および 1 つの TiDB クラスターで構成される TiDB クラスターを開始します。 TiFlash インスタンス。

このコマンドは、実際には次の操作を実行します。

  • このコマンドはプレイグラウンド コンポーネントのバージョンを指定しないため、TiUP はインストールされているプレイグラウンド コンポーネントの最新バージョンを最初にチェックします。最新バージョンが v1.11.0 であると仮定すると、このコマンドはtiup playground:v1.11.0と同じように機能します。
  • TiUP プレイグラウンドを使用して TiDB、TiKV、および PD コンポーネントをインストールしていない場合、プレイグラウンド コンポーネントはこれらのコンポーネントの最新の安定したバージョンをインストールしてから、これらのインスタンスを起動します。
  • このコマンドは TiDB、PD、および TiKV コンポーネントのバージョンを指定しないため、TiUP プレイグラウンドはデフォルトで各コンポーネントの最新バージョンを使用します。最新バージョンが v6.3.0 であると仮定すると、このコマンドはtiup playground:v1.11.0 v6.3.0と同じように機能します。
  • このコマンドは各コンポーネントの数を指定しないため、TiUP プレイグラウンドはデフォルトで、1 つの TiDB インスタンス、1 つの TiKV インスタンス、1 つの PD インスタンス、および 1 つの TiFlash インスタンスで構成される最小のクラスターを開始します。
  • 各 TiDB コンポーネントを開始した後、TiUP プレイグラウンドは、クラスターが正常に開始されたことを通知し、MySQL クライアントを介して TiDB クラスターに接続する方法やTiDB ダッシュボードにアクセスする方法など、いくつかの有用な情報を提供します。

プレイグラウンド コンポーネントのコマンドライン フラグは、次のように記述されています。

Flags: --db int Specify the number of TiDB instances (default: 1) --db.host host Specify the listening address of TiDB --db.port int Specify the port of TiDB --db.binpath string Specify the TiDB instance binary path (optional, for debugging) --db.config string Specify the TiDB instance configuration file (optional, for debugging) --db.timeout int Specify TiDB maximum wait time in seconds for starting. 0 means no limit --drainer int Specify Drainer data of the cluster --drainer.binpath string Specify the location of the Drainer binary files (optional, for debugging) --drainer.config string Specify the Drainer configuration file -h, --help help for tiup --host string Specify the listening address of each component (default: `127.0.0.1`). Set it to `0.0.0.0` if provided for access of other machines --kv int Specify the number of TiKV instances (default: 1) --kv.binpath string Specify the TiKV instance binary path (optional, for debugging) --kv.config string Specify the TiKV instance configuration file (optional, for debugging) --mode string Specify the playground mode: 'tidb' (default) and 'tikv-slim' --pd int Specify the number of PD instances (default: 1) --pd.host host Specify the listening address of PD --pd.binpath string Specify the PD instance binary path (optional, for debugging) --pd.config string Specify the PD instance configuration file (optional, for debugging) --pump int Specify the number of Pump instances. If the value is not `0`, TiDB Binlog is enabled. --pump.binpath string Specify the location of the Pump binary files (optional, for debugging) --pump.config string Specify the Pump configuration file (optional, for debugging) -T, --tag string Specify a tag for playground --ticdc int Specify the number of TiCDC instances (default: 0) --ticdc.binpath string Specify the TiCDC instance binary path (optional, for debugging) --ticdc.config string Specify the TiCDC instance configuration file (optional, for debugging) --tiflash int Specify the number of TiFlash instances (default: 1) --tiflash.binpath string Specify the TiFlash instance binary path (optional, for debugging) --tiflash.config string Specify the TiFlash instance configuration file (optional, for debugging) --tiflash.timeout int Specify TiFlash maximum wait time in seconds for starting. 0 means no limit -v, --version Specify the version of playground --without-monitor Disable the monitoring function of Prometheus and Grafana. If you do not add this flag, the monitoring function is enabled by default.

利用可能な TiDB のバージョンを確認する

tiup list tidb

特定のバージョンの TiDB クラスターを開始する

tiup playground ${version}

${version}をターゲットのバージョン番号に置き換えます。

ナイトリー版の TiDB クラスターを起動する

tiup playground nightly

上記のコマンドで、 nightlyは TiDB の最新の開発バージョンを示します。

PD のデフォルト設定をオーバーライドする

まず、 PD 構成テンプレートをコピーする必要があります。コピーしたファイルを~/config/pd.tomlに配置し、必要に応じて変更を加えると仮定すると、次のコマンドを実行して PD のデフォルト構成をオーバーライドできます。

tiup playground --pd.config ~/config/pd.toml

デフォルトのバイナリ ファイルを置き換える

デフォルトでは、プレイグラウンドが開始されると、公式ミラーのバイナリ ファイルを使用して各コンポーネントが開始されます。一時的にコンパイルされたローカル バイナリ ファイルをテスト用にクラスターに配置する場合は、 --{comp}.binpathフラグを使用して置き換えることができます。たとえば、次のコマンドを実行して、TiDB のバイナリ ファイルを置き換えます。

tiup playground --db.binpath /xx/tidb-server

複数のコンポーネント インスタンスを開始する

デフォルトでは、TiDB、TiKV、および PD コンポーネントごとに 1 つのインスタンスのみが開始されます。コンポーネントごとに複数のインスタンスを開始するには、次のフラグを追加します。

tiup playground --db 3 --pd 3 --kv 3

プレイグラウンドで開始された TiDB クラスターにすばやく接続する

TiUP はclientつのコンポーネントを提供します。これは、プレイグラウンドによって開始されたローカル TiDB クラスターを自動的に見つけて接続するために使用されます。使用方法は次のとおりです。

tiup client

このコマンドは、コンソールの現在のマシンでプレイグラウンドによって開始された TiDB クラスターのリストを提供します。接続する TiDB クラスターを選択します。 Enterをクリックすると、組み込みの MySQL クライアントが開き、TiDB に接続されます。

起動したクラスタの情報をビュー

tiup playground display

上記のコマンドは、次の結果を返します。

Pid Role Uptime --- ---- ------ 84518 pd 35m22.929404512s 84519 tikv 35m22.927757153s 84520 pump 35m22.92618275s 86189 tidb exited 86526 tidb 34m28.293148663s 86190 drainer 35m19.91349249s

クラスターをスケールアウトする

クラスターをスケールアウトするためのコマンドライン パラメーターは、クラスターを開始するためのパラメーターと似ています。次のコマンドを実行して、2 つの TiDB インスタンスをスケールアウトできます。

tiup playground scale-out --db 2

クラスターでのスケーリング

tiup playground scale-inコマンドでpidを指定して、対応するインスタンスにスケーリングできます。 pidを表示するには、 tiup playground displayを実行します。

tiup playground scale-in --pid 86526