TiDB 導入に関するよくある質問

このドキュメントには、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 クラスターをデプロイすることをお勧めします。 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、監視はオプション
timezone管理対象ノードのタイムゾーン、調整可能、デフォルトはAsia/Shanghai 、変数set_timezoneで使用
set_timezone管理対象ノードのタイムゾーンを編集するには、デフォルトで True。 False は閉じることを意味します
enable_elk現在サポートされていません
enable_firewalldファイアウォールを有効にするには、デフォルトで閉じます
enable_ntpd管理対象ノードの NTP サービスを監視する場合、デフォルトでは True。閉じないでください
machine_benchmark管理対象ノードのディスク IOPS を監視するには、デフォルトで True。閉じないでください
set_hostnameIP に基づいて管理対象ノードのホスト名を編集するには、デフォルトで False
enable_binlogPumpをデプロイしてbinlogを有効にするかどうか。デフォルトでは False。Kafka クラスターに応じて異なります。 zookeeper_addrs変数を参照してください
zookeeper_addrsbinlog Kafka クラスターの ZooKeeper アドレス
enable_slow_query_logTiDB のスロー クエリ ログを単一のファイルに記録します: ({{deploy_dir }}/log/tidb_slow_query.log)。デフォルトでは False、TiDB ログに記録します。
deploy_without_tidbKey-Value モードでは、PD、TiKV、およびモニタリング サービスのみをデプロイし、TiDB はデプロイしません。 inventory.iniファイルで tidb_servers ホスト グループの IP を null に設定します

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

  1. TiDB のスロー クエリ定義は、TiDB 構成ファイルにあります。 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 Cloud GKEAWS EKS 、およびアリババクラウドACKでのデプロイメントをサポートします。

さらに、TiDB は現在、JD Cloud と UCloud で利用できます。

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