TiDB Lightningを始めよう

このチュートリアルでは、いくつかの新しいクリーンな CentOS 7 インスタンスを使用することを前提としています。 VMware、VirtualBox、またはその他のツールを使用して、仮想マシンをローカルに展開するか、ベンダー提供のプラットフォームに小規模なクラウド仮想マシンを展開できます。 TiDB Lightningは大量のコンピューター リソースを消費するため、最高のパフォーマンスで実行するには、少なくとも 16 GB のメモリと 32 コアの CPU を割り当てることをお勧めします。

フルバックアップデータを準備する

まず、 dumplingを使用して MySQL からデータをエクスポートします。

tiup dumpling -h 127.0.0.1 -P 3306 -u root -t 16 -F 256MB -B test -f 'test.t[12]' -o /data/my_database/

上記のコマンドで:

  • -B test : データがtestデータベースからエクスポートされることを意味します。
  • -f test.t[12] : test.t1test.t2のテーブルのみがエクスポートされることを意味します。
  • -t 16 : データのエクスポートに 16 個のスレッドが使用されることを意味します。
  • -F 256MB : テーブルがチャンクに分割され、1 つのチャンクが 256 MB であることを意味します。

このコマンドを実行すると、フル バックアップ データが/data/my_databaseディレクトリにエクスポートされます。

TiDB Lightningをデプロイ

ステップ 1: TiDB クラスターをデプロイする

データをインポートする前に、TiDB クラスターをデプロイする必要があります。このチュートリアルでは、TiDB v5.4.0 を例として使用します。配備方法については、 TiUP を使用して TiDBクラスタをデプロイするを参照してください。

ステップ 2: TiDB Lightningインストール パッケージをダウンロードする

TiDB Lightningインストール パッケージはTiDB Toolkitに含まれています。 TiDB Toolkitをダウンロードするには、 TiDB ツールをダウンロードを参照してください。

ノート:

TiDB Lightningは、以前のバージョンの TiDB クラスターと互換性があります。 TiDB Lightningインストール パッケージの最新の安定バージョンをダウンロードすることをお勧めします。

ステップ 3: tidb-lightningを開始する

  1. パッケージ内のbin/tidb-lightningbin/tidb-lightning-ctlをTiDB Lightningがデプロイされているサーバーにアップロードします。

  2. 準備されたデータ ソースをサーバーにアップロードします。

  3. tidb-lightning.tomlを次のように構成します。

    [lightning] # Logging level = "info" file = "tidb-lightning.log" [tikv-importer] # Configure the import mode backend = "local" # Sets the directory for temporarily storing the sorted key-value pairs. # The target directory must be empty. sorted-kv-dir = "/mnt/ssd/sorted-kv-dir" [mydumper] # Local source data directory data-source-dir = "/data/my_datasource/" # Configures the wildcard rule. By default, all tables in the mysql, sys, INFORMATION_SCHEMA, PERFORMANCE_SCHEMA, METRICS_SCHEMA, and INSPECTION_SCHEMA system databases are filtered. # If this item is not configured, the "cannot find schema" error occurs when system tables are imported. filter = ['*.*', '!mysql.*', '!sys.*', '!INFORMATION_SCHEMA.*', '!PERFORMANCE_SCHEMA.*', '!METRICS_SCHEMA.*', '!INSPECTION_SCHEMA.*'] [tidb] # Information of the target cluster host = "172.16.31.2" port = 4000 user = "root" password = "rootroot" # Table schema information is fetched from TiDB via this status-port. status-port = 10080 # The PD address of the cluster pd-addr = "172.16.31.3:2379"
  4. パラメータを適切に設定したら、 nohupコマンドを使用してtidb-lightningプロセスを開始します。コマンドラインでコマンドを直接実行すると、SIGHUP シグナルを受信したためにプロセスが終了する場合があります。代わりに、 nohupコマンドを含む bash スクリプトを実行することをお勧めします。

    #!/bin/bash nohup tiup tidb-lightning -config tidb-lightning.toml > nohup.out &

ステップ 4: データの整合性を確認する

インポートが完了すると、 TiDB Lightningは自動的に終了します。インポートが成功すると、ログ ファイルの最後の行にtidb lightning exitが表示されます。

エラーが発生した場合は、 TiDB LightningFAQを参照してください。

概要

このチュートリアルでは、 TiDB Lightningとは何か、およびTiDB Lightningクラスターを迅速に展開してフル バックアップ データを TiDB クラスターにインポートする方法を簡単に紹介します。

TiDB Lightningの詳細な機能と使用方法については、 TiDB Lightningの概要を参照してください。