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. テストデプロイ後にクラスタを整理する
Control+Cを押して上記のTiDBサービスを停止する。- サービスが停止したら、次のコマンドを実行する。
tiup clean --all