📣
TiDB Cloud Essential はパブリックプレビュー中です。このページは自動翻訳されたものです。原文はこちらからご覧ください。

TiUPを使用した DMクラスタ展開のトポロジコンフィグレーションファイル

TiDBデータ移行(DM)クラスターをデプロイまたは拡張するには、クラスタートポロジを記述するトポロジファイル( サンプル )を提供する必要があります。

同様に、クラスタトポロジを変更するには、トポロジファイルに変更を加える必要があります。違いは、クラスタのデプロイ後は、トポロジファイル内のフィールドの一部しか変更できないことです。このドキュメントでは、トポロジファイルの各セクションと、各セクション内の各フィールドについて説明します。

ファイル構造

TiUPを使用した DM クラスターのデプロイメントのトポロジ構成ファイルには、次のセクションが含まれる場合があります。

  • グローバル : クラスターのグローバル設定。一部の設定項目はクラスターのデフォルト値を使用しますが、インスタンスごとに個別に設定できます。
  • サーバー構成 : コンポーネントのグローバル設定。各コンポーネントを個別に設定できます。インスタンスに同じキーの設定項目がある場合、そのインスタンスの設定項目が有効になります。
  • マスターサーバー : DMマスターインスタンスの構成。この構成では、DMコンポーネントのマスターサービスがデプロイされるマシンを指定します。
  • ワーカーサーバー : DMワーカーインスタンスの設定。この設定では、DMコンポーネントのワーカーサービスがデプロイされるマシンを指定します。
  • 監視サーバー : Prometheusインスタンスがデプロイされるマシンを指定します。TiUPは複数のPrometheusインスタンスのデプロイをサポートしていますが、最初のインスタンスのみが使用されます。
  • grafana_servers : Grafanaインスタンスの設定。この設定では、Grafanaインスタンスがデプロイされるマシンを指定します。
  • アラートマネージャーサーバー : Alertmanagerインスタンスの設定。この設定では、Alertmanagerインスタンスがデプロイされるマシンを指定します。

global

globalセクションはクラスターのグローバル構成に対応し、次のフィールドがあります。

  • user : デプロイされたクラスタを起動するユーザー。デフォルト値は「tidb」です。2 <user>に指定されたユーザーがターゲットマシン上に存在しない場合、 TiUP は自動的にユーザーの作成を試みます。
  • group : ユーザーが自動作成された際に所属するユーザーグループ。デフォルト値は<user>フィールドと同じです。指定されたグループが存在しない場合は、自動的に作成されます。
  • ssh_port : 操作のためにターゲットマシンに接続するためのSSHポート。デフォルト値は「22」です。
  • deploy_dir : 各コンポーネントのデプロイメントディレクトリ。デフォルト値は「deploy」です。構築ルールは以下のとおりです。
    • 絶対パスdeploy_dirインスタンス レベルで構成されている場合、実際のデプロイメント ディレクトリはインスタンスに対して構成されているdeploy_dirなります。
    • 各インスタンスに対してdeploy_dir設定しない場合、デフォルト値は相対パス<component-name>-<component-port>なります。
    • global.deploy_dir絶対パスに設定すると、コンポーネントは<global.deploy_dir>/<instance.deploy_dir>ディレクトリにデプロイされます。
    • global.deploy_dir相対パスに設定すると、コンポーネントは/home/<global.user>/<global.deploy_dir>/<instance.deploy_dir>ディレクトリにデプロイされます。
  • data_dir : データディレクトリ。デフォルト値は「data」です。構築ルールは以下のとおりです。
    • 絶対パスdata_dirインスタンス レベルで構成されている場合、実際のデータ ディレクトリはインスタンスに構成されているdata_dirなります。
    • 各インスタンスに対してdata_dirが設定されていない場合、デフォルト値は<global.data_dir>なります。
    • data_dir相対パスに設定されている場合、コンポーネントデータは<deploy_dir>/<data_dir>に保存されます。 <deploy_dir>の構築規則については、 deploy_dirフィールドの構築規則を参照してください。
  • log_dir : データディレクトリ。デフォルト値は「log」です。構築ルールは以下のとおりです。
    • インスタンス レベルで絶対パスlog_dirが設定されている場合、実際のログ ディレクトリはインスタンスに設定されているlog_dirなります。
    • 各インスタンスについて、ユーザーがlog_dir設定しない場合、デフォルト値は<global.log_dir>なります。
    • log_dirが相対パスの場合、コンポーネントログは<deploy_dir>/<log_dir>に保存されます。 <deploy_dir>の構築ルールについては、 deploy_dirフィールドの構築ルールを参照してください。
  • os : ターゲットマシンのオペレーティングシステム。このフィールドは、ターゲットマシンにプッシュされるコンポーネントをどのオペレーティングシステムに適応させるかを制御します。デフォルト値は「linux」です。
  • arch : ターゲットマシンのCPUアーキテクチャ。このフィールドは、ターゲットマシンにプッシュされるバイナリパッケージをどのプラットフォームに適合させるかを制御します。サポートされている値は「amd64」と「arm64」です。デフォルト値は「amd64」です。
  • resource_control : ランタイムリソース制御。このフィールドのすべての設定は、systemd のサービスファイルに書き込まれます。デフォルトでは制限はありません。制御可能なリソースは以下のとおりです。
    • memory_limit : 実行時の最大メモリを制限します。例えば、「2G」は最大2GBのメモリが使用できることを意味します。
    • cpu_quota : 実行時のCPU使用率の上限を制限します。例: 「200%」
    • io_read_bandwidth_max : ディスク読み取りの最大I/O帯域幅を制限します。例: "/dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0:0 100M"
    • io_write_bandwidth_max : ディスク書き込みの最大I/O帯域幅を制限します。例: "/dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0:0 100M"
    • limit_core : コアダンプのサイズを制御します。

global構成例:

global: user: "tidb" resource_control: memory_limit: "2G"

この例では、構成により、クラスターを起動するためにtidbユーザーが使用され、各コンポーネントの実行時に最大 2 GB のメモリに制限されることが指定されています。

server_configs

server_configs server_configsサービスの設定と各コンポーネントの設定ファイルの生成に使用されます。2 セクションと同様に、 globalセクションの設定は、インスタンス内の同じキーを持つ設定によって上書きできます。6 server_configsは主に以下のフィールドが含まれます。

server_configs構成の例は次のとおりです。

server_configs: master: log-level: info rpc-timeout: "30s" rpc-rate-limit: 10.0 rpc-rate-burst: 40 worker: log-level: info

master_servers

master_servers 、DMコンポーネントのマスターノードがデプロイされるマシンを指定します。また、各マシンのサービス構成を指定することもできますmaster_servers配列です。各配列要素には以下のフィールドが含まれます。

  • host : デプロイ先のマシンを指定します。このフィールド値はIPアドレスで、必須です。
  • ssh_port : 操作のためにターゲットマシンに接続するためのSSHポートを指定します。このフィールドが指定されていない場合は、セクションglobalssh_port使用されます。
  • name : DMマスターインスタンスの名前を指定します。名前はインスタンスごとに一意である必要があります。一意でない場合、クラスターをデプロイできません。
  • port : DMマスターがサービスを提供するポートを指定します。デフォルト値は「8261」です。
  • peer_port : DMマスター間の通信ポートを指定します。デフォルト値は「8291」です。
  • deploy_dir : デプロイメントディレクトリを指定します。このフィールドが指定されていない場合、または相対ディレクトリとして指定されている場合、デプロイメントディレクトリはglobalセクションのdeploy_dir設定に従って生成されます。
  • data_dir : データディレクトリを指定します。このフィールドが指定されていない場合、または相対ディレクトリとして指定されている場合、データディレクトリはセクションglobaldata_dir設定に従って生成されます。
  • log_dir : ログディレクトリを指定します。このフィールドが指定されていない場合、または相対ディレクトリとして指定されている場合、ログディレクトリはセクションgloballog_dir設定に従って生成されます。
  • numa_node : インスタンスにNUMAポリシーを割り当てます。このフィールドを指定する前に、ターゲットマシンにヌマクトルインストールされていることを確認する必要があります。このフィールドを指定した場合、cpubindおよびmembindポリシーはヌマクトル使用して割り当てられます。このフィールドは文字列型です。フィールド値はNUMAノードのID(例:"0,1")です。
  • config :このフィールドの設定ルールは、セクションserver_configsmasterと同じです。6を指定した場合、セクションconfig config設定がserver_configs masterの設定とマージされ(2つのフィールドが重複している場合は、このフィールドの設定が有効になります)、設定ファイルが生成され、セクションhostで指定されたマシンに配布されます。
  • os : hostのフィールドで指定されたマシンのオペレーティングシステム。このフィールドが指定されていない場合、デフォルト値はglobal番目のセクションで設定されたos値です。
  • arch : hostのフィールドで指定されたマシンのアーキテクチャ。このフィールドが指定されていない場合、デフォルト値はglobal番目のセクションで設定されたarch値になります。
  • resource_control : このサービスにおけるリソース制御。このフィールドが指定された場合、このフィールドの設定はセクションglobalresource_controlの設定とマージされ(2つのフィールドが重複している場合は、このフィールドの設定が有効になります)、systemdの設定ファイルが生成され、セクションhostで指定されたマシンに配布されます。このフィールドの設定ルールは、セクションglobalresource_controlの設定ルールと同じです。
  • v1_source_path : v1.0.x からアップグレードする場合、このフィールドに V1 ソースの構成ファイルが配置されているディレクトリを指定できます。

master_serversセクションでは、デプロイメントが完了した後は、次のフィールドを変更することはできません。

  • host
  • name
  • port
  • peer_port
  • deploy_dir
  • data_dir
  • log_dir
  • arch
  • os
  • v1_source_path

master_servers構成の例は次のとおりです。

master_servers: - host: 10.0.1.11 name: master1 ssh_port: 22 port: 8261 peer_port: 8291 deploy_dir: "/dm-deploy/dm-master-8261" data_dir: "/dm-data/dm-master-8261" log_dir: "/dm-deploy/dm-master-8261/log" numa_node: "0,1" # The following configs are used to overwrite the `server_configs.master` values. config: log-level: info rpc-timeout: "30s" rpc-rate-limit: 10.0 rpc-rate-burst: 40 - host: 10.0.1.18 name: master2 - host: 10.0.1.19 name: master3

worker_servers

worker_servers 、DMコンポーネントのマスターノードがデプロイされるマシンを指定します。また、各マシンのサービス構成を指定することもできますworker_servers配列です。各配列要素には以下のフィールドが含まれます。

  • host : デプロイ先のマシンを指定します。このフィールド値はIPアドレスで、必須です。
  • ssh_port : 操作のためにターゲットマシンに接続するためのSSHポートを指定します。このフィールドが指定されていない場合は、セクションglobalssh_port使用されます。
  • name : DMワーカーインスタンスの名前を指定します。名前はインスタンスごとに一意である必要があります。一意でない場合、クラスターをデプロイできません。
  • port : DMワーカーがサービスを提供するポートを指定します。デフォルト値は「8262」です。
  • deploy_dir : デプロイメントディレクトリを指定します。このフィールドが指定されていない場合、または相対ディレクトリとして指定されている場合、デプロイメントディレクトリはglobalセクションのdeploy_dir設定に従って生成されます。
  • data_dir : データディレクトリを指定します。このフィールドが指定されていない場合、または相対ディレクトリとして指定されている場合、データディレクトリはセクションglobaldata_dir設定に従って生成されます。
  • log_dir : ログディレクトリを指定します。このフィールドが指定されていない場合、または相対ディレクトリとして指定されている場合、ログディレクトリはセクションgloballog_dir設定に従って生成されます。
  • numa_node : インスタンスにNUMAポリシーを割り当てます。このフィールドを指定する前に、ターゲットマシンにヌマクトルインストールされていることを確認する必要があります。このフィールドを指定した場合、cpubindおよびmembindポリシーはヌマクトル使用して割り当てられます。このフィールドは文字列型です。フィールド値はNUMAノードのID(例:"0,1")です。
  • config :このフィールドの設定ルールは、セクションserver_configsworkerと同じです。6を指定した場合、セクションconfig config設定がserver_configs workerの設定とマージされ(2つのフィールドが重複している場合は、このフィールドの設定が有効になります)、設定ファイルが生成され、セクションhostで指定されたマシンに配布されます。
  • os : hostのフィールドで指定されたマシンのオペレーティングシステム。このフィールドが指定されていない場合、デフォルト値はglobal番目のセクションで設定されたos値です。
  • arch : hostのフィールドで指定されたマシンのアーキテクチャ。このフィールドが指定されていない場合、デフォルト値はglobal番目のセクションで設定されたarch値になります。
  • resource_control : このサービスにおけるリソース制御。このフィールドが指定された場合、このフィールドの設定はセクションglobalresource_controlの設定とマージされ(2つのフィールドが重複している場合は、このフィールドの設定が有効になります)、systemdの設定ファイルが生成され、セクションhostで指定されたマシンに配布されます。このフィールドの設定ルールは、セクションglobalresource_controlの設定ルールと同じです。

worker_serversセクションでは、デプロイメントが完了した後は、次のフィールドを変更することはできません。

  • host
  • name
  • port
  • deploy_dir
  • data_dir
  • log_dir
  • arch
  • os

worker_servers構成の例は次のとおりです。

worker_servers: - host: 10.0.1.12 ssh_port: 22 port: 8262 deploy_dir: "/dm-deploy/dm-worker-8262" log_dir: "/dm-deploy/dm-worker-8262/log" numa_node: "0,1" # config is used to overwrite the `server_configs.worker` values config: log-level: info - host: 10.0.1.19

monitoring_servers

monitoring_servers 、Prometheus サービスがデプロイされるマシンを指定します。また、マシン上のサービス設定も指定できますmonitoring_servers配列です。各配列要素には以下のフィールドが含まれます。

  • host : デプロイ先のマシンを指定します。このフィールド値はIPアドレスで、必須です。
  • ssh_port : 操作のためにターゲットマシンに接続するためのSSHポートを指定します。このフィールドが指定されていない場合は、セクションglobalssh_port使用されます。
  • port : Prometheusがサービスを提供するポートを指定します。デフォルト値は「9090」です。
  • deploy_dir : デプロイメントディレクトリを指定します。このフィールドが指定されていない場合、または相対ディレクトリとして指定されている場合、デプロイメントディレクトリはglobalセクションのdeploy_dir設定に従って生成されます。
  • data_dir : データディレクトリを指定します。このフィールドが指定されていない場合、または相対ディレクトリとして指定されている場合、データディレクトリはセクションglobaldata_dir設定に従って生成されます。
  • log_dir : ログディレクトリを指定します。このフィールドが指定されていない場合、または相対ディレクトリとして指定されている場合、ログディレクトリはセクションgloballog_dir設定に従って生成されます。
  • numa_node : インスタンスにNUMAポリシーを割り当てます。このフィールドを指定する前に、対象マシンにヌマクトルインストールされていることを確認する必要があります。このフィールドを指定した場合、cpubindおよびmembindポリシーはヌマクトル使用して割り当てられます。このフィールドは文字列型です。フィールド値はNUMAノードのID(例:"0,1")です。
  • storage_retention : Prometheus監視データの保持期間を指定します。デフォルト値は「15日」です。
  • rule_dir : *.rules.ymlのファイルすべてが保存されているローカルディレクトリを指定します。指定されたディレクトリ内のファイルは、クラスター構成の初期化フェーズでPrometheusルールとしてターゲットマシンに送信されます。
  • remote_config : Prometheusデータのリモートへの書き込み、またはリモートからのデータの読み取りをサポートします。このフィールドには2つの設定があります。
  • external_alertmanagers : フィールドexternal_alertmanagersが設定されている場合、Prometheusはクラスター外のAlertmanagerに構成動作を通知します。このフィールドは配列であり、各要素は外部Alertmanagerであり、フィールドhostとフィールドweb_portで構成されます。
  • os : hostのフィールドで指定されたマシンのオペレーティングシステム。このフィールドが指定されていない場合、デフォルト値はglobal番目のセクションで設定されたos値です。
  • arch : hostのフィールドで指定されたマシンのアーキテクチャ。このフィールドが指定されていない場合、デフォルト値はglobal番目のセクションで設定されたarch値になります。
  • resource_control : このサービスにおけるリソース制御。このフィールドが指定された場合、このフィールドの設定はセクションglobalresource_controlの設定とマージされ(2つのフィールドが重複している場合は、このフィールドの設定が有効になります)、systemdの設定ファイルが生成され、セクションhostで指定されたマシンに配布されます。このフィールドの設定ルールは、セクションglobalresource_controlの設定ルールと同じです。

monitoring_serversセクションでは、デプロイメントが完了した後は、次のフィールドを変更することはできません。

  • host
  • port
  • deploy_dir
  • data_dir
  • log_dir
  • arch
  • os

monitoring_servers構成の例は次のとおりです。

monitoring_servers: - host: 10.0.1.11 rule_dir: /local/rule/dir remote_config: remote_write: - queue_config: batch_send_deadline: 5m capacity: 100000 max_samples_per_send: 10000 max_shards: 300 url: http://127.0.0.1:8003/write remote_read: - url: http://127.0.0.1:8003/read\ external_alertmanagers: - host: 10.1.1.1 web_port: 9093 - host: 10.1.1.2 web_port: 9094

grafana_servers

grafana_servers 、Grafana サービスがデプロイされるマシンを指定します。また、マシン上のサービス設定も指定できますgrafana_servers配列です。各配列要素には以下のフィールドが含まれます。

  • host : デプロイ先のマシンを指定します。このフィールド値はIPアドレスで、必須です。
  • ssh_port : 操作のためにターゲットマシンに接続するためのSSHポートを指定します。このフィールドが指定されていない場合は、セクションglobalssh_port使用されます。
  • port : Grafanaがサービスを提供するポートを指定します。デフォルト値は「3000」です。
  • deploy_dir : デプロイメントディレクトリを指定します。このフィールドが指定されていない場合、または相対ディレクトリとして指定されている場合、デプロイメントディレクトリはglobalセクションのdeploy_dir設定に従って生成されます。
  • os : hostのフィールドで指定されたマシンのオペレーティングシステム。このフィールドが指定されていない場合、デフォルト値はglobal番目のセクションで設定されたos値です。
  • arch : hostのフィールドで指定されたマシンのアーキテクチャ。このフィールドが指定されていない場合、デフォルト値はglobal番目のセクションで設定されたarch値になります。
  • username : Grafana ログイン画面のユーザー名を指定します。
  • password : Grafana の対応するパスワードを指定します。
  • dashboard_dir : dashboard(*.json)のファイルすべてが保存されているローカルディレクトリを指定します。指定されたディレクトリ内のファイルは、クラスター構成の初期化フェーズ中にGrafanaダッシュボードとしてターゲットマシンに送信されます。
  • resource_control : このサービスにおけるリソース制御。このフィールドが指定された場合、このフィールドの設定はセクションglobalresource_controlの設定とマージされ(2つのフィールドが重複している場合は、このフィールドの設定が有効になります)、systemdの設定ファイルが生成され、セクションhostで指定されたマシンに配布されます。このフィールドの設定ルールは、セクションglobalresource_controlの設定ルールと同じです。

注記:

dashboard_dirフィールドがgrafana_servers設定されている場合、クラスターの名前を変更するtiup cluster renameコマンドを実行した後、次の操作を実行する必要があります。

  1. ローカルのdashboardsディレクトリで、 datasourceフィールドの値を新しいクラスター名に更新します ( datasourceクラスター名に基づいて名前が付けられます)。
  2. tiup cluster reload -R grafanaコマンドを実行します。

grafana_serversでは、デプロイメントが完了した後は、次のフィールドを変更できません。

  • host
  • port
  • deploy_dir
  • arch
  • os

grafana_servers構成の例は次のとおりです。

grafana_servers: - host: 10.0.1.11 dashboard_dir: /local/dashboard/dir

alertmanager_servers

alertmanager_servers 、Alertmanagerサービスがデプロイされるマシンを指定します。また、各マシンのサービス構成を指定することもできますalertmanager_serversは配列です。各配列要素には以下のフィールドが含まれます。

  • host : デプロイ先のマシンを指定します。このフィールド値はIPアドレスで、必須です。
  • ssh_port : 操作のためにターゲットマシンに接続するためのSSHポートを指定します。このフィールドが指定されていない場合は、セクションglobalssh_port使用されます。
  • web_port : AlertmanagerがWebサービスを提供するポートを指定します。デフォルト値は「9093」です。
  • cluster_port : Alertmanager間の通信ポートを指定します。デフォルト値は「9094」です。
  • deploy_dir : デプロイメントディレクトリを指定します。このフィールドが指定されていない場合、または相対ディレクトリとして指定されている場合、デプロイメントディレクトリはglobalセクションのdeploy_dir設定に従って生成されます。
  • data_dir : データディレクトリを指定します。このフィールドが指定されていない場合、または相対ディレクトリとして指定されている場合、データディレクトリはセクションglobaldata_dir設定に従って生成されます。
  • log_dir : ログディレクトリを指定します。このフィールドが指定されていない場合、または相対ディレクトリとして指定されている場合、ログディレクトリはセクションgloballog_dir設定に従って生成されます。
  • numa_node : インスタンスにNUMAポリシーを割り当てます。このフィールドを指定する前に、対象マシンにヌマクトルインストールされていることを確認する必要があります。このフィールドを指定した場合、cpubindおよびmembindポリシーはヌマクトル使用して割り当てられます。このフィールドは文字列型です。フィールド値はNUMAノードのID(例:"0,1")です。
  • config_file : ローカルファイルを指定します。指定されたファイルは、クラスター構成の初期化フェーズ中に、Alertmanager の構成としてターゲットマシンに送信されます。
  • os : hostのフィールドで指定されたマシンのオペレーティングシステム。このフィールドが指定されていない場合、デフォルト値はglobal番目のセクションで設定されたos値です。
  • arch : hostのフィールドで指定されたマシンのアーキテクチャ。このフィールドが指定されていない場合、デフォルト値はglobal番目のセクションで設定されたarch値になります。
  • resource_control : このサービスにおけるリソース制御。このフィールドが指定された場合、このフィールドの設定はセクションglobalresource_controlの設定とマージされ(2つのフィールドが重複している場合は、このフィールドの設定が有効になります)、systemdの設定ファイルが生成され、セクションhostで指定されたマシンに配布されます。このフィールドの設定ルールは、セクションglobalresource_controlの設定ルールと同じです。

alertmanager_serversでは、デプロイメントが完了した後は、次のフィールドを変更できません。

  • host
  • web_port
  • cluster_port
  • deploy_dir
  • data_dir
  • log_dir
  • arch
  • os

alertmanager_servers構成の例は次のとおりです。

alertmanager_servers: - host: 10.0.1.11 config_file: /local/config/file - host: 10.0.1.12 config_file: /local/config/file

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