TiDBローカルインストール - テスト環境構築

ローカルテストクラスタの構築

シナリオ: 単一のmacOSまたはLinuxサーバーを使用し、テスト用のローカルTiDBクラスタを素早く構築する。このようなクラスタをデプロイすると、TiDBの基本アーキテクチャと、TiDB、TiKV、PD、監視コンポーネントなどの構成要素の動作を学習できる。

分散システムとして、基本的なTiDBテストクラスタは通常、2つのTiDBインスタンス、3つのTiKVインスタンス、3つのPDインスタンス、および任意のTiFlashインスタンスで構成される。TiUP Playgroundを使うと、次の手順でテストクラスタを素早く構築できる。

1. TiUPをダウンロードしてインストールする

curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh

次のメッセージが表示されれば、TiUPは正常にインストールされている。

Successfully set mirror to https://tiup-mirrors.pingcap.com
Detected shell: zsh
Shell profile:  /Users/user/.zshrc
/Users/user/.zshrc has been modified to add tiup to PATH
open a new terminal or source /Users/user/.zshrc to use it
Installed path: /Users/user/.tiup/bin/tiup
===============================================
Have a try:     tiup playground
===============================================

上の出力にあるシェルプロファイルのパスを覚えておこう。次の手順でこのパスを使用する。

インストール後、TiUPは該当するシェルプロファイルファイルの絶対パスを表示する。パスに応じて、次のsourceコマンドの${your_shell_profile}を変更する必要がある。この場合、手順1の出力で${your_shell_profile}/Users/user/.zshrcである。

source ${your_shell_profile}

2. 現在のセッションでクラスタを開始する

単一TiDBインスタンス、単一TiKVインスタンス、単一PDインスタンス、および単一TiFlashインスタンスで最新バージョンのTiDBクラスタを開始するには、次のコマンドを実行する。

tiup playground

TiDBのバージョンと各コンポーネントのインスタンス数を指定するには、次のようなコマンドを実行する。

tiup playground v6.1.0 --db 2 --pd 3 --kv 3

このコマンドは、v6.1.0のようなバージョンクラスタをローカルコンピュータにダウンロードして起動する。最新バージョンを確認するにはtiup list tidbを実行する。

このコマンドはクラスタへのアクセス方法を返す。

CLUSTER START SUCCESSFULLY, Enjoy it ^-^
To connect TiDB: mysql --comments --host 127.0.0.1 --port 4001 -u root -p (no password)
To connect TiDB: mysql --comments --host 127.0.0.1 --port 4000 -u root -p (no password)
To view the dashboard: http://127.0.0.1:2379/dashboard
PD client endpoints: [127.0.0.1:2379 127.0.0.1:2382 127.0.0.1:2384]
To view Prometheus: http://127.0.0.1:9090
To view Grafana: http://127.0.0.1:3000

3. TiDBへアクセスするための新しいセッションを開始する

TiUPクライアントを使用してTiDBに接続する。

tiup client

初回実行時には、次のように必要なクライアントがインストールされることを確認できる。

[kimkc@localhost ~]$ tiup client
tiup is checking updates for component client ...
A new version of client is available:
The latest version:         v1.11.0
Local installed version:
Update current component:   tiup update client
Update all components:      tiup update --all

The component `client` version  is not installed; downloading from repository.
download https://tiup-mirrors.pingcap.com/client-v1.11.0-linux-amd64.tar.gz 49.3
download https://tiup-mirrors.pingcap.com/client-v1.11.0-linux-amd64.tar.gz 304.
download https://tiup-mirrors.pingcap.com/client-v1.11.0-linux-amd64.tar.gz 644.
download https://tiup-mirrors.pingcap.com/client-v1.11.0-linux-amd64.tar.gz 1.45
download https://tiup-mirrors.pingcap.com/client-v1.11.0-linux-amd64.tar.gz 2.38
download https://tiup-mirrors.pingcap.com/client-v1.11.0-linux-amd64.tar.gz 3.87
download https://tiup-mirrors.pingcap.com/client-v1.11.0-linux-amd64.tar.gz 4.49
MiB / 4.49 MiB 100.00% 4.24 MiB/s
Starting component `client`: /home/kimkc/.tiup/components/client/v1.11.0/tiup-client
[kimkc@localhost ~]$

続いて、次のようなエンドポイント選択画面が表示される。

┌─Choose a endpoint to connect─────────────────────────────────────────────────┐
│ TLr4XQE mysql://root@127.0.0.1:4000                                          │
│ TLr4XQE mysql://root@127.0.0.1:4001                                          │
└──────────────────────────────────────────────────────────────────────────────┘

緑色の項目でEnterを押して選択する。ここでは4000を選択した。

すると、次のようなコンソールが表示される。

my:root@127.0.0.1:4000=>

MySQLとの親和性が高いからなのか、myという単語が目に入る。

ここで、mysqlコマンドであるshow databases;を実行してみよう。

my:root@127.0.0.1:4000=> show databases;
Database
--------------------
INFORMATION_SCHEMA
METRICS_SCHEMA
PERFORMANCE_SCHEMA
mysql
test
(5 rows)

上のように表示されることを確認できる。

  • MySQLクライアントを使用してTiDBに接続することもできる。
mysql --host 127.0.0.1 --port 4000 -u root

3. その他の接続確認

  • http://127.0.0.1:9090 でTiDBのPrometheusダッシュボードにアクセスする。
  • TiDBダッシュボード http://127.0.0.1:2379/dashboard にアクセスする。
    • デフォルトユーザー名はrootで、パスワードは空である。
  • http://127.0.0.1:3000 でTiDB Grafanaダッシュボードにアクセスする。
    • デフォルトユーザー名とパスワードはいずれもadminである。
  • 任意: 分析用データをTiFlashにロードする。

4. テストデプロイ後にクラスタを整理する

  1. Control+Cを押して上記のTiDBサービスを停止する。
  2. サービスが停止したら、次のコマンドを実行する。
tiup clean --all

参照