TiDB 展開に関するよくある質問

このドキュメントは、TiDB の展開に関連する FAQ をまとめたものです。

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

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

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

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

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

PD は一意のタイムスタンプを配布する必要があるため、分散クラスターとして、特に PD の場合、TiDB は時間の要求が高くなります。 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 は構成を読み取りません。現在、この問題は Binary を使用してデプロイする場合にのみ発生します。 TiKV の場合は、構成を編集してサービスを再起動します。 PD の場合、設定ファイルは PD が初めて起動されたときにのみ読み込まれます。その後、pd-ctl を使用して設定を変更できます。詳細については、 PD Controlユーザー ガイドを参照してください。

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

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

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

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

  • supervise: プロセスを管理するためのデーモン プロセス
  • 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 クラスターに依存します。 zookeeper_addrs変数を参照してください
zookeeper_addrsbinlog Kafka クラスターの ZooKeeper アドレス
enable_slow_query_logTiDB のスロー クエリ ログを 1 つのファイル ({{ 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 構成ファイルにあります。 slow-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情報を追加することにより、展開構造を調整する必要があります 7 、たとえば、 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 EKS 、およびアリババクラウド ACKでの展開をサポートしています。

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

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