TiDB 導入に関する FAQ

このドキュメントでは、TiDB のデプロイメントに関連する FAQ をまとめています。

ソフトウェアおよびハードウェアの要件

TiDB はどのオペレーティング システムをサポートしていますか?

TiDB がサポートするオペレーティング システムについては、 ソフトウェアとハ​​ードウェアの推奨事項参照してください。

TiDB は、Intel x86-64アーキテクチャの 64 ビット汎用ハードウェアサーバープラットフォームまたは ARMアーキテクチャのハードウェアサーバープラットフォームに導入して実行できます。開発、テスト、および本番環境のサーバーハードウェア構成に関する要件と推奨事項については、 ソフトウェアとハ​​ードウェアの推奨事項 - サーバーの推奨事項参照してください。

10 ギガビットのネットワーク カード 2 枚の目的は何ですか?

分散型クラスタである TiDB は、特に PD に対して高い時間要件を要求します。これは、PD が一意のタイムスタンプを配布する必要があるためです。PD サーバーの時間が一貫していないと、PDサーバーを切り替えるときに待機時間が長くなります。2 つのネットワーク カードの結合により、データ転送の安定性が保証され、10 ギガビットにより転送速度が保証されます。ギガビット ネットワーク カードはボトルネックになりやすいため、10 ギガビット ネットワーク カードを使用することを強くお勧めします。

SSD に RAID を使用しない場合は実現可能でしょうか?

リソースが十分である場合は、SSD に RAID 10 を使用することをお勧めします。リソースが不十分な場合は、SSD に RAID を使用しなくてもかまいません。

  • TiDB は CPU とメモリに対する要件が高くなります。TiDB Binlogを有効にする必要がある場合は、サービス ボリュームの見積もりと GC 操作の時間要件に基づいて、ローカル ディスク領域を増やす必要があります。ただし、SSD ディスクは必須ではありません。
  • PD はクラスターのメタデータを保存し、読み取りおよび書き込み要求が頻繁に発生します。高 I/O ディスクが必要です。パフォーマンスの低いディスクは、クラスター全体のパフォーマンスに影響します。SSD ディスクの使用をお勧めします。また、リージョンの数が多いほど、CPU とメモリの要件が高くなります。
  • TiKV は CPU、メモリ、ディスクに対して高い要件があります。SSD を使用する必要があります。

詳細はソフトウェアとハ​​ードウェアの推奨事項参照。

インストールと展開

本番環境では、 TiUP使用して TiDB クラスターをデプロイすることをお勧めします。3 TiUPを使用して TiDBクラスタをデプロイ参照してください。

TiKV/PD 用に変更されたtoml構成が有効にならないのはなぜですか?

tomlの設定を有効にするには、TiKV/PD で--configパラメータを設定する必要があります。TiKV/PD はデフォルトでは設定を読み取りません。現在、この問題はバイナリを使用してデプロイする場合にのみ発生します。TiKV の場合は、設定を編集してサービスを再起動してください。PD の場合は、PD が初めて起動されたときにのみ設定ファイルが読み取られ、その後は pd-ctl を使用して設定を変更できます。詳細については、 PD Controlユーザー ガイドを参照してください。

監視マシンはスタンドアロン展開を使用することをお勧めします。16 GB 以上のメモリと 500 GB 以上のハードディスクを搭載した 8 コア CPU を使用することをお勧めします。

モニターがすべてのメトリックを表示できないのはなぜですか?

モニターのマシン時間とクラスター内の時間差を確認します。時間差が大きい場合は、時間を修正すると、モニターにすべてのメトリックが表示されます。

supervise/svc/svstat サービスの機能は何ですか?

  • 監視: デーモンプロセス、プロセスを管理する
  • svc: サービスを開始および停止する
  • svstat: プロセスの状態を確認する

inventory.ini 変数の説明

変数説明
cluster_nameクラスターの名前(調整可能)
tidb_versionTiDBのバージョン
deployment_method展開方法、デフォルトはバイナリ、Dockerはオプション
process_supervisionプロセスの監視方法、systemdがデフォルト、superviseはオプション
timezone管理対象ノードのタイムゾーン。調整可能。デフォルトset_timezone Asia/Shanghaiとともに使用される。
set_timezone管理対象ノードのタイムゾーンを編集します。デフォルトではTrueです。Falseの場合は閉じます。
enable_elk現在サポートされていません
enable_firewalldファイアウォールを有効にする(デフォルトでは閉じている)
enable_ntpd管理対象ノードのNTPサービスを監視する。デフォルトではTrue。閉じないでください。
machine_benchmark管理対象ノードのディスクIOPSを監視する。デフォルトではTrue。閉じないでください。
set_hostnameIPに基づいて管理対象ノードのホスト名を編集します。デフォルトではFalseです。
enable_binlogPumpをデプロイしてbinlogを有効にするかどうか。デフォルトではFalse。Kafkaクラスタに依存します。1変数を参照してくださいzookeeper_addrs
zookeeper_addrsbinlog Kafka クラスターの ZooKeeper アドレス
enable_slow_query_logTiDBのスロークエリログを1つのファイルに記録します: ({{ deploy_dir }}/log/tidb_slow_query.log)。デフォルトではFalseで、TiDBログに記録されます。
deploy_without_tidbキーバリューモードでは、PD、TiKV、監視サービスのみinventory.iniデプロイし、TiDBはデプロイしません。1ファイルでtidb_serversホストグループのIPをnullに設定します。

TiDB でスロー クエリ ログを個別に記録するにはどうすればよいですか? スロー クエリ SQL ステートメントを見つけるにはどうすればよいでしょうか?

  1. TiDB のスロー クエリ定義は、TiDB 構成ファイルにあります。1 パラメータは、スロー クエリのしきい値 (単位: ミリ秒) tidb_slow_log_threshold: 300構成するために使用されます。

  2. スロークエリが発生した場合、Grafana を使用してスロークエリが発生しているtidb-serverインスタンスとスロークエリの時点を特定し、対応するノードのログに記録されている SQL ステートメント情報を見つけることができます。

  3. ログに加えて、 ADMIN SHOW SLOWコマンドを使用してスロークエリを表示することもできます。詳細については、 ADMIN SHOW SLOWコマンドを参照してください。

TiDB クラスターを初めてデプロイしたときに TiKV のlabelが構成されていなかった場合、 label構成を追加するにはどうすればよいですか?

TiDB labelの設定は、クラスターのデプロイメントアーキテクチャに関連しています。これは重要であり、PD がグローバル管理とスケジュールを実行するための基礎となります。以前にクラスターをデプロイしたときにlabel設定しなかった場合は、PD 管理ツールpd-ctlを使用してlocation-labels情報を手動で追加して、デプロイメント構造を調整する必要があります (例: config set location-labels "zone,rack,host" ) (実際のlabelレベル名に基づいて設定する必要があります)。

pd-ctlの使い方についてはPD Controlユーザー ガイドを参照してください。

ディスク テストのddコマンドがoflag=directオプションを使用するのはなぜですか?

ダイレクト モードでは、書き込み要求が I/O コマンドにラップされ、このコマンドがディスクに送信されてファイル システム キャッシュがバイパスされ、ディスクの実際の I/O 読み取り/書き込みパフォーマンスが直接テストされます。

fioコマンドを使用して TiKV インスタンスのディスク パフォーマンスをテストするにはどうすればよいですか?

  • ランダム読み取りテスト:

    ./fio -ioengine=psync -bs=32k -fdatasync=1 -thread -rw=randread -size=10G -filename=fio_randread_test.txt -name='fio randread test' -iodepth=4 -runtime=60 -numjobs=4 -group_reporting --output-format=json --output=fio_randread_result.json
  • シーケンシャル書き込みとランダム読み取りの混合テスト:

    ./fio -ioengine=psync -bs=32k -fdatasync=1 -thread -rw=randrw -percentage_random=100,0 -size=10G -filename=fio_randread_write_test.txt -name='fio mixed randread and sequential write test' -iodepth=4 -runtime=60 -numjobs=4 -group_reporting --output-format=json --output=fio_randread_write_test.json

現在 TiDB でサポートされているパブリック クラウド ベンダーは何ですか?

TiDB はGoogle クラウド GKEAWS のアリババクラウドACKでのデプロイメントをサポートします。

さらに、TiDB は現在 JD Cloud と UCloud でも利用可能です。

このページは役に立ちましたか?