TiUP共通操作
このドキュメントでは、 TiUPを使用して TiDB クラスターを操作および保守する場合の一般的な操作について説明します。
クラスターリストをビュー
TiUPクラスタコンポーネントを使用して、複数の TiDB クラスタを管理できます。TiDB クラスタがデプロイされると、そのクラスタはTiUPクラスタリストに表示されます。
リストを表示するには、次のコマンドを実行します。
tiup cluster list
クラスターを起動する
TiDB クラスター内のコンポーネントは次の順序で起動されます。
PD > TiKV > TiDB > TiFlash > TiCDC > Prometheus > Grafana > Alertmanager
クラスターを起動するには、次のコマンドを実行します。
tiup cluster start ${cluster-name}
注記:
${cluster-name}クラスター名に置き換えてください。クラスター名を忘れた場合は、tiup cluster list実行して確認してください。
コマンドに-Rまたは-Nパラメータを追加することで、一部のコンポーネントのみを起動できます。例:
このコマンドは PDコンポーネントのみを起動します。
tiup cluster start ${cluster-name} -R pdこのコマンドは、ホスト
1.2.3.4と1.2.3.5PD コンポーネントのみを起動します。tiup cluster start ${cluster-name} -N 1.2.3.4:2379,1.2.3.5:2379
注記:
-Rまたは-Nパラメータを使用して指定されたコンポーネントを起動する場合は、起動順序が正しいことを確認してください。例えば、PDコンポーネントをTiKVコンポーネントより先に起動してください。そうしないと、起動に失敗する可能性があります。
クラスターのステータスをビュー
クラスターを起動したら、各コンポーネントのステータスを確認し、正常に動作していることを確認してくださいTiUPにはdisplayコマンドが用意されているため、コンポーネントのステータスを確認するためにすべてのマシンにログインする必要はありません。
tiup cluster display ${cluster-name}
設定を変更する
クラスタの稼働中にコンポーネントのパラメータを変更する必要がある場合は、コマンドedit-configを実行してください。詳細な手順は次のとおりです。
クラスターの構成ファイルを編集モードで開きます。
tiup cluster edit-config ${cluster-name}パラメータを設定します。
構成がコンポーネントに対してグローバルに有効な場合は、
server_configsを編集します。server_configs: tidb: log.slow-threshold: 300特定のノードで設定を有効にする場合は、ノードの
configで設定を編集します。tidb_servers: - host: 10.0.1.11 port: 4000 config: log.slow-threshold: 300
パラメータの形式についてはTiUPパラメータテンプレート参照してください。
構成項目の階層を表すには、 . を使用します
.コンポーネントの構成パラメータの詳細については、 TiDB
config.toml.example、 TiKVconfig.toml.example、およびPDconfig.toml.exampleを参照してください。reloadコマンドを実行して、構成をローリング更新し、対応するコンポーネントを再起動します。tiup cluster reload ${cluster-name} [-N <nodes>] [-R <roles>]
例
tidb-server でトランザクション サイズ制限パラメータ ( パフォーマンスモジュールのtxn-total-size-limit ) を1Gに設定する場合は、次のように設定を編集します。
server_configs:
tidb:
performance.txn-total-size-limit: 1073741824
次に、 tiup cluster reload ${cluster-name} -R tidbコマンドを実行して、TiDBコンポーネントをローリング再起動します。
修正プログラムパッケージに置き換える
通常のアップグレードについては、 TiUPを使用して TiDB をアップグレードする参照してください。ただし、デバッグなどの一部のシナリオでは、現在実行中のコンポーネントを一時パッケージに置き換える必要がある場合があります。これを行うには、 patchコマンドを使用します。
tiup cluster patch --help
Replace the remote package with a specified package and restart the service
Usage:
cluster patch <cluster-name> <package-path> [flags]
Flags:
-h, --help help for patch
-N, --node strings Specify the nodes
--overwrite Use this package in the future scale-out operations
-R, --role strings Specify the role
--transfer-timeout int Timeout in seconds when transferring PD and TiKV store leaders (default 600)
Global Flags:
--native-ssh Use the system's native SSH client
--wait-timeout int Timeout of waiting the operation
--ssh-timeout int Timeout in seconds to connect host via SSH, ignored for operations that don't need an SSH connection. (default 5)
-y, --yes Skip all confirmations and assumes 'yes'
TiDB ホットフィックス パッケージが/tmp/tidb-hotfix.tar.gzにあり、クラスター内のすべての TiDB パッケージを置き換える場合は、次のコマンドを実行します。
tiup cluster patch test-cluster /tmp/tidb-hotfix.tar.gz -R tidb
クラスター内の 1 つの TiDB パッケージのみを置き換えることもできます。
tiup cluster patch test-cluster /tmp/tidb-hotfix.tar.gz -N 172.16.4.5:4000
クラスターの名前を変更する
クラスターをデプロイして起動した後、 tiup cluster renameコマンドを使用してクラスターの名前を変更できます。
tiup cluster rename ${cluster-name} ${new-name}
注記:
- クラスターの名前を変更する操作により、監視システム (Prometheus および Grafana) が再起動されます。
- クラスターの名前を変更した後、古いクラスター名を持つパネルがGrafanaに残る場合があります。これらのパネルは手動で削除する必要があります。
クラスターを停止する
TiDB クラスター内のコンポーネントは次の順序で停止されます (監視コンポーネントも停止されます)。
アラートマネージャー > Grafana > Prometheus > TiCDC > TiFlash > TiDB > TiKV > PD
クラスターを停止するには、次のコマンドを実行します。
tiup cluster stop ${cluster-name}
startコマンドと同様に、 stopコマンドでも-Rまたは-Nパラメータを追加することで、一部のコンポーネントを停止できます。例:
このコマンドは TiDBコンポーネントのみを停止します。
tiup cluster stop ${cluster-name} -R tidbこのコマンドは、ホスト
1.2.3.4と1.2.3.5の TiDB コンポーネントのみを停止します。tiup cluster stop ${cluster-name} -N 1.2.3.4:4000,1.2.3.5:4000
クラスターデータをクリーンアップする
クラスタデータのクリーンアップ操作では、すべてのサービスが停止し、データディレクトリまたはログディレクトリがクリーンアップされます。この操作は元に戻すことができませんので、慎重に進めてください。
クラスター内のすべてのサービスのデータをクリーンアップしますが、ログは保持します。
tiup cluster clean ${cluster-name} --dataクラスター内のすべてのサービスのログをクリーンアップしますが、データは保持します。
tiup cluster clean ${cluster-name} --logクラスター内のすべてのサービスのデータとログをクリーンアップします。
tiup cluster clean ${cluster-name} --allPrometheus 以外のすべてのサービスのログとデータをクリーンアップします。
tiup cluster clean ${cluster-name} --all --ignore-role prometheus172.16.13.11:9000インスタンスを除くすべてのサービスのログとデータをクリーンアップします。tiup cluster clean ${cluster-name} --all --ignore-node 172.16.13.11:9000172.16.13.12ノードを除くすべてのサービスのログとデータをクリーンアップします。tiup cluster clean ${cluster-name} --all --ignore-node 172.16.13.12
クラスターを破壊する
削除操作はサービスを停止し、データディレクトリとデプロイメントディレクトリをクリアします。この操作は元に戻すことができないため、慎重に進めてください。
tiup cluster destroy ${cluster-name}
PrometheusからVictoriaMetricsへの切り替え
大規模クラスターでは、Prometheus は多数のインスタンスを処理する際にパフォーマンスのボトルネックが発生する可能性があります。TiUP v1.16.3 以降では、監視コンポーネントを Prometheus から VictoriaMetrics (VM) に切り替えることで、スケーラビリティ、パフォーマンス、リソース消費量を削減できます。
新しいデプロイメント用に VictoriaMetrics を設定する
デフォルトでは、 TiUP はメトリクス監視コンポーネントとして Prometheus を使用します。新しいデプロイメントで Prometheus の代わりに VictoriaMetrics を使用するには、トポロジファイルを次のように設定します。
# Monitoring server configuration
monitoring_servers:
# IP address of the monitoring server
- host: ip_address
...
prom_remote_write_to_vm: true
enable_prom_agent_mode: true
# Grafana server configuration
grafana_servers:
# IP address of the Grafana server
- host: ip_address
...
use_vm_as_datasource: true
既存のデプロイメントを VictoriaMetrics に移行する
実行中のインスタンスに影響を与えることなく移行を実行できます。既存のメトリクスはPrometheusに残り、 TiUPは新しいメトリクスをVictoriaMetricsに書き込みます。
VictoriaMetrics リモート書き込みを有効にする
クラスター構成を編集します。
tiup cluster edit-config ${cluster-name}monitoring_serversの下でprom_remote_write_to_vmをtrueに設定します:monitoring_servers: - host: ip_address ... prom_remote_write_to_vm: true変更を適用するには、構成を再ロードします。
tiup cluster reload ${cluster-name} -R prometheus
デフォルトのデータソースをVictoriaMetricsに切り替える
クラスター構成を編集します。
tiup cluster edit-config ${cluster-name}grafana_serversの下でuse_vm_as_datasourceをtrueに設定します:grafana_servers: - host: ip_address ... use_vm_as_datasource: true変更を適用するには、構成を再ロードします。
tiup cluster reload ${cluster-name} -R grafana
切り替え前に生成された履歴メトリックをビュー(オプション)
切り替え前に生成された履歴メトリックを表示する必要がある場合は、次のように Grafana のデータ ソースを切り替えます。
クラスター構成を編集します。
tiup cluster edit-config ${cluster-name}grafana_serversの下で、use_vm_as_datasourceコメントアウトします。grafana_servers: - host: ip_address ... # use_vm_as_datasource: true変更を適用するには、構成をリロードします。
tiup cluster reload ${cluster-name} -R grafanaVictoriaMetrics に戻るには、 デフォルトのデータソースをVictoriaMetricsに切り替えるの手順を繰り返します。
古い指標とサービスをクリーンアップする
古いメトリックの有効期限が切れていることを確認した後、以下の手順で冗長なサービスとファイルを削除できます。これは実行中のクラスターには影響しません。
Prometheusをエージェントモードに設定する
クラスター構成を編集します。
tiup cluster edit-config ${cluster-name}monitoring_serversの下で、enable_prom_agent_modeをtrueに設定し、prom_remote_write_to_vmとuse_vm_as_datasource正しく設定されていることを確認します。monitoring_servers: - host: ip_address ... prom_remote_write_to_vm: true enable_prom_agent_mode: true grafana_servers: - host: ip_address ... use_vm_as_datasource: true変更を適用するには、構成をリロードします。
tiup cluster reload ${cluster-name} -R prometheus
期限切れのデータディレクトリを削除する
設定ファイルで、監視サーバーの
data_dirパスを見つけます。monitoring_servers: - host: ip_address ... data_dir: "/tidb-data/prometheus-8249"データディレクトリを削除します。
rm -rf /tidb-data/prometheus-8249