ローカル 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.10.3 であると仮定すると、このコマンドはtiup playground:v1.10.3と同じように機能します。
  • TiUP プレイグラウンドを使用して TiDB、TiKV、および PD コンポーネントをインストールしていない場合、プレイグラウンド コンポーネントはこれらのコンポーネントの最新の安定したバージョンをインストールしてから、これらのインスタンスを起動します。
  • このコマンドは TiDB、PD、および TiKV コンポーネントのバージョンを指定しないため、TiUP プレイグラウンドはデフォルトで各コンポーネントの最新バージョンを使用します。最新バージョンが v6.2.0 であると仮定すると、このコマンドはtiup playground:v1.10.3 v6.2.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
エコシステム
TiDB
TiKV
TiSpark
Chaos Mesh
© 2022 PingCAP. All Rights Reserved.