TiDB Lightningの導入
このドキュメントでは、ローカル バックエンドを使用するTiDB Lightningのハードウェア要件と、手動でデプロイする方法について説明します。
ノート
TiDB Lightningを開始する前に、次の点に注意してください。
tidb-lightning
がクラッシュした場合、クラスターは「インポート モード」のままになります。 「通常モード」に戻すのを忘れると、TiKV クラスター上に圧縮されていない大量のデータが発生し、異常に高い CPU 使用率とストールが発生する可能性があります。tidb-lightning-ctl
ツールを使用して、クラスターを手動で「通常モード」に戻すことができます。bin/tidb-lightning-ctl --switch-mode=normal
ハードウェア要件
tidb-lightning
は、リソースを大量に消費するプログラムです。以下のように展開することをお勧めします。
- 32 以上の論理コア CPU
- 20GB以上のメモリ
- データ ソース全体を格納するのに十分な大きさの SSD、より高速な読み取り速度を優先する
- 10 ギガビット ネットワーク カード (1 GB/秒以上で転送可能)
tidb-lightning
は、実行時にすべての CPU コアを完全に消費するため、専用のマシンにデプロイすることを強くお勧めします。不可能な場合は、tidb-lightning
をtidb-server
などの他のコンポーネントと一緒にデプロイし、CPU 使用率をregion-concurrency
設定で制限することができます。
ノート:
tidb-lightning
は CPU を集中的に使用するプログラムです。コンポーネントが混在する環境では、tidb-lightning
に割り当てるリソースを制限する必要があります。そうしないと、他のコンポーネントが実行できなくなる可能性があります。 CPU 論理コアのregion-concurrency
~ 75% を設定することをお勧めします。たとえば、CPU に 32 個の論理コアがある場合、region-concurrency
~ 24 を設定できます。
さらに、ターゲット TiKV クラスターには、新しいデータを吸収するのに十分なスペースが必要です。 標準要件以外に、ターゲット TiKV クラスターの合計空き容量は、データ ソースのサイズ × レプリカの数× 2より大きくなければなりません。
デフォルトのレプリカ カウントが 3 の場合、これは合計空き領域がデータ ソースのサイズの少なくとも 6 倍である必要があることを意味します。
データのエクスポート
dumpling
ツールを使用して、次のコマンドを使用して MySQL からデータをエクスポートします。
./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.t1
とtest.t2
のテーブルのみがエクスポートされることを意味します。-t 16
: データのエクスポートに 16 個のスレッドが使用されることを意味します。-F 256MB
: テーブルがチャンクに分割され、1 つのチャンクが 256 MB であることを意味します。
データ ソースが CSV ファイルで構成されている場合、構成についてはCSV サポートを参照してください。
TiDB Lightningをデプロイ
このセクションでは、方法について説明しTiDB Lightningを手動でデプロイする 。
TiDB Lightningを手動でデプロイ
ステップ 1: TiDB クラスターをデプロイする
データをインポートする前に、TiDB クラスターをデプロイする必要があります。最新の安定版を使用することを強くお勧めします。
導入手順はTiDB クイック スタート ガイドにあります。
ステップ 2: TiDB Lightningインストール パッケージをダウンロードする
TiDB ツールをダウンロードドキュメントを参照して、 TiDB Lightningパッケージをダウンロードしてください。
ノート:
TiDB Lightningは、以前のバージョンの TiDB クラスターと互換性があります。 TiDB Lightningインストール パッケージの最新の安定バージョンをダウンロードすることをお勧めします。
ステップ 3: tidb-lightning
を開始する
ツール セットから
bin/tidb-lightning
とbin/tidb-lightning-ctl
をアップロードします。データ ソースを同じマシンにマウントします。
構成する
tidb-lightning.toml
.以下のテンプレートに表示されない構成の場合、 TiDB Lightningは構成エラーをログ ファイルに書き込み、終了します。sorted-kv-dir
は、ソートされた Key-Value ファイルの一時ストレージ ディレクトリを設定します。ディレクトリは空である必要があり、ストレージ スペースはインポートするデータセットのサイズより大きくなければなりません。詳細はダウンストリームのストレージ容量要件を参照してください。[lightning] # The concurrency number of data. It is set to the number of logical CPU # cores by default. When deploying together with other components, you can # set it to 75% of the size of logical CPU cores to limit the CPU usage. # region-concurrency = # Logging level = "info" file = "tidb-lightning.log" [tikv-importer] # Sets the backend to the "local" mode. backend = "local" # Sets the directory of temporary local storage. sorted-kv-dir = "/mnt/ssd/sorted-kv-dir" [mydumper] # Local source data directory data-source-dir = "/data/my_database" [tidb] # Configuration of any TiDB server from the cluster host = "172.16.31.1" port = 4000 user = "root" password = "" # Table schema information is fetched from TiDB via this status-port. status-port = 10080 # An address of pd-server. pd-addr = "172.16.31.4:2379"上記は重要な設定のみを示しています。設定の完全なリストについては、セクションConfiguration / コンフィグレーションを参照してください。
tidb-lightning
を実行します。nohup ./tidb-lightning -config tidb-lightning.toml > nohup.out &
TiDB Lightningのアップグレード
バイナリのみを置き換えるだけで、 TiDB Lightningをアップグレードできます。これ以上の構成は必要ありません。 TiDB Lightningを再起動する詳細な手順については、 FAQを参照してください。
インポート タスクが実行中の場合は、完了するまで待ってからTiDB Lightningをアップグレードすることをお勧めします。そうしないと、チェックポイントがバージョン間で機能するという保証がないため、最初から再インポートする必要が生じる可能性があります。