重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

展開に関するFAQ

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

オペレーティングシステム要件

必要なオペレーティングシステムのバージョンは何ですか?

Linux OSバージョン
Red Hat Enterprise Linux7.3以降の7.xリリース
CentOS7.3以降の7.xリリース
Oracle Enterprise Linux7.3以降の7.xリリース
Amazon Linux2
Ubuntu LTS16.04以降

高性能のオープンソース分散NewSQLデータベースとして、TiDBはIntelアーキテクチャサーバーおよび主要な仮想化環境に展開でき、適切に実行されます。 TiDBは、ほとんどの主要なハードウェアネットワークとLinuxオペレーティングシステムをサポートしています。詳細については、TiDBの展開について公式の展開要件を参照してください。

多くのTiDBテストがCentOS7.3で実行され、多くの展開のベストプラクティスがCentOS7.3に蓄積されています。したがって、TiDBをデプロイするときは、CentOS7.3+Linuxオペレーティングシステムを使用することをお勧めします。

サーバー要件

Intelx86-64アーキテクチャの64ビット汎用ハードウェアサーバープラットフォームにTiDBを展開して実行できます。開発、テスト、および実稼働環境のサーバーハードウェア構成に関する要件と推奨事項は次のとおりです。

開発およびテスト環境

成分CPUメモリーローカルストレージ通信網インスタンス番号(最小要件)
TiDB8コア+16GB以上SAS、200 GB +ギガビットネットワークカード1(PDと同じマシンに展開できます)
PD4コア+8GB以上SAS、200 GB +ギガビットネットワークカード1(TiDBと同じマシンにデプロイできます)
TiKV8コア+32 GB +SAS、200 GB +ギガビットネットワークカード3
TiFlash32コア+64GB以上SSD、200 GB +ギガビットネットワークカード1
TiCDC8コア+16GB以上SAS、200 GB +ギガビットネットワークカード1
サーバーの総数6

本番環境

成分CPUメモリーハードディスクの種類通信網インスタンス番号(最小要件)
TiDB16コア+48 GB +SAS10ギガビットネットワークカード(2枚推奨)2
PD8コア+16GB以上SSD10ギガビットネットワークカード(2枚推奨)3
TiKV16コア+64GB以上SSD10ギガビットネットワークカード(2枚推奨)3
TiFlash48コア+128 GB +1つ以上のSSD10ギガビットネットワークカード(2枚推奨)2
TiCDC16コア+64GB以上SSD10ギガビットネットワークカード(2枚推奨)2
モニター8コア+16GB以上SASギガビットネットワークカード1
サーバーの総数13

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

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

SSDにRAIDを使用しない場合は可能ですか?

リソースが十分な場合は、SSDにRAID10を使用することをお勧めします。リソースが不十分な場合は、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ユーザーガイドを参照してください。

監視マシンは、スタンドアロン展開を使用することをお勧めします。 16GB以上のメモリと500GB以上のハードディスクを備えた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_binlogKafkaクラスタに応じて、 Pumpをデプロイしてbinlogを有効にするかどうか(デフォルトではFalse)。 zookeeper_addrs変数を参照してください
zookeeper_addrsbinlogKafkaクラスタの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構成ファイルにあります。 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 (たとえば、 config set location-labels "zone,rack,host" )を使用してlocation-labelsの情報を手動で追加することにより、デプロイメント構造を調整する必要があります(実際の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
    
このページの内容