Configuring HARP for cluster management

HARP構成ファイルは、読みやすいように簡素化された標準のYAMLスタイルのフォーマットに従います。このファイルはデフォルトで/etc/harp ディレクトリにあり、config.yml という名前です

-f /--config 引数を使用して、すべてのHARP実行可能ファイルに構成ファイルの場所を明示的に提供できます。

標準構成

HARPは基本的に3つのコンポーネントとして動作します。

  • HARPマネージャー

  • HARPプロキシ

  • harpctl

これらはそれぞれ、同じ標準のconfig.yml 構成フォーマットを使用します。これには、常に次のセクションが含まれます。

  • cluster.name —すべてのオペレーションの対象となるクラスターの名前。

  • dcs —すべてのエンドポイントのDCSドライバーと接続構成。

これは、次のようなHARP操作には常に標準のプリアンブルが含まれることを意味します。

cluster:
  name: mycluster

dcs:
  ...

他のセクションは、オプションまたは名前付けたHARPコンポーネントに固有です。

クラスター名

cluster 見出しの下のname エントリーは、 HARPとのすべての相互作用に必要です。各HARPクラスターには、特定のクラスターのDCS内の明確化とデータのラベル付けの両方の名前があります。

HARPマネージャーは、 HARPプロキシとharpctlが使用するクラスターに関する情報をここに書き込みます。 HARPプロキシサービスは、このクラスター内のノードにトラフィックを誘導します。 harpctl 管理ツールはこのクラスターと対話します。

DCS設定

コンセンサスレイヤーの構成は、 HARP機能のキーとなります。 DCSがなければ、 HARPにはクラスターメタデータを保存する場所がなく、リーダーシップ選挙を行うこともできません。したがって、構成のこの部分は必須であり、特定の要素はオプションです。

次の複数の補助エントリを使用して、 dcs という名前のセクションの下のすべての要素を指定します。

  • ``driver`` :使用するコンセンサスレイヤーの必須タイプ。現在はetcd またはbdr です。コンセンサスレイヤーとしてのbdr のサポートは実験的です。コンセンサスレイヤーとしてbdr を使用すると、コンセンサスストレージ用の追加ソフトウェアが削減されますが、データベースのメンテナンス中にクォーラムを維持するために少なくとも3つの完全なBDRメンバーノードが必要です。

  • ``endpoints`` :DCSに接続するために必要な接続文字列のリスト。可能であれば、ここにDCSのすべてのノードをリストします。これにより、DCSの大部分が引き続き動作し、ネットワークが到達できる限り、 HARPが機能し続けます。

etcd をコンセンサスレイヤーとして使用する場合のフォーマットは次のとおりです。 edb_notranlate_1 実験的なbdr コンセンサスレイヤーを使用する場合のフォーマットは次のとおりです。 edb_notranlate_2 現在、 bdr コンセンサスレイヤーは最初のエンドポイントがローカルのpostgresインスタンスを指す必要があります。

  • ``request_timeout`` :要求が失敗したと見なされる時間(ミリ秒)。 HARPはDCSに要求を行い、この時間内に応答を受信しない場合、操作は失敗したと見なされます。これにより、要求の性質に応じて、問題がエラーとしてログに記録されるか、再試行されます。デフォルト:250。

次のDCS SSL設定は、 edb_notranlate_3 yaml dcs:driver:etcd endpoints: - host1:2379 - host2:2379 - host3:2379 edb_notranlate_4 yamlクラスター:名前:

dcs:ドライバー:etcdエンドポイント: - host1:2379 - host2:2379 - host3:2379

manager:名前:node1 log_level:INFO edb_notranlate_5 yaml cluster:名前:mycluster

dcs:ドライバー:etcdエンドポイント: - host1:2379 - host2:2379 - host3:2379

proxy:名前:proxy1場所:dc1 pgbouncer_bin_dir:/usr/sbin edb_notranlate_6 bash harpctl set node node1 lease_refresh_interval=100 edb_notranlate_7 bash harpctl set proxy global max_client_conn=1000 ```