LoginSignup
0
0

More than 1 year has passed since last update.

MySQL vs. TiDB-分散トランザクションの比較検証(6): TiDBクラスタの導入

Last updated at Posted at 2022-05-06
[前回] MySQL vs. TiDB-分散トランザクションの比較検証(5): TiDBの基本

はじめに

早速、TiDBをインストールし、動かしてみます。

検証環境

TiDBクラスタ環境を構築します。
果たして、ノートPCにクラスタ導入できるでしょうか。

CPU: Intel(R) Core(TM) 3.30GHz(4コア8スレッド)
メモリ: 16 GB
OS: Ubuntu 20.04 LTS

Ubuntuは、Windows 10で以下のように管理者権限で導入しました。

> wsl --install -d Ubuntu-20.04

環境構築のシナリオ

単一Linuxサーバーに、テスト用TiDBクラスターをすばやくローカル展開します。
この環境で、TiDBの基本アーキテクチャと、TiDB/TiKV/PD/監視コンポーネントなどコンポーネント操作を学習できるようです。

インストール手順

PingCAP社のローカルテストクラスタのデプロイを参考にしました。

1. TiUPのダウンロードとインストール

$ curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 6660k  100 6660k    0     0  8517k      0 --:--:-- --:--:-- --:--:-- 8517k
Successfully set mirror to https://tiup-mirrors.pingcap.com
Detected shell: bash
Shell profile:  /home/zhao/.bash_profile
Installed path: /home/zhao/.tiup/bin/tiup
===============================================
Have a try:     tiup playground
===============================================

2. 環境変数設定を反映

$ source ~/.bash_profile

3. クラスタを起動

TiDBテストクラスタは、通常以下の構成が必要とのことです。

  • TiDBインスタンス、2つ
  • TiKVインスタンス、3つ
  • PDインスタンス、3つ
  • TiFlashインスタンス、1つ
$ tiup playground --db 2 --pd 3 --kv 3

いくつかコンポーネントがインストールされ、最後に

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 the Prometheus: http://127.0.0.1:9090
To view the Grafana: http://127.0.0.1:3000

と表示されたら、成功です。

4. 別端末から、TiUPクライアントを使ってTiDBに接続

TiUPクライアントをインストール。

$ tiup client

エンドポイント選択画面で、4000を選択しました。

Choose a endpoint to connect
SqO0bRV mysql://root@127.0.0.1:4000
SqO0bRV mysql://root@127.0.0.1:4001

クライアントはmysqlドライバーが使用されているようです。

Connected with driver mysql (5.7.25-TiDB-v6.0.0)
Type "help" for help.

my:root@127.0.0.1:4000=>

試しに、showコマンド実行してみると

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

MySQLでお馴染みのデータベース一覧が表示されました。
TiDBはMySQLと親和性高そうです。

5. TiDBのPrometheusダッシュボード

Prometheus(プロメテウス)とは

  • イベント監視とアラート通知に利用される無料のアプリケーション・ソフトウェア
  • 時系列データベースをHTTPプル方式でリアルタイムに構築し、柔軟なクエリーとアラート機能を提供

ブラウザからhttp://127.0.0.1:9090にアクセスします。

image.png

6. TiDBダッシュボード

ブラウザからhttp://127.0.0.1:2379/dashboardにアクセスします。
デフォルトユーザはroot、パスワードなしです。

image.png

7. TiDBのGrafanaダッシュボード

Grafana(グラファナ)とは

  • 分析およびインタラクティブな可視化を可能とするWebアプリケーション
  • オープンソースで、マルチプラットフォームで動作可能
  • サポート対象データソースに接続し、Webブラウザ上でチャート/グラフ/アラート機能を提供

ブラウザからhttp://127.0.0.1:3000にアクセスします。
デフォルトユーザーとパスワードともにadmin

image.png

8. (Optional)分析用データをTiFlashにロード

9. テスト終了時、TiDBクラスタの停止

Ctrl + C でプロセス停止してから、
以下のコマンドでクラスタをクリーンアップ。

tiup clean --all

終わりに

テスト用のTiDBクラスタ環境をサクッと構築できました。
次回は、本題のトランザクション検証を予定しています。
お楽しみに。

[次回] MySQL vs. TiDB-分散トランザクションの比較検証(7): TiDB分散トランザクションの理論
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0