Installation

HARPの標準インストールには、2つのシステムサービスが含まれます。

  • 管理対象ノード上のHARPマネージャー(harp_manager)

  • 他の場所でのHARPプロキシ(harp_router)

通常、これらのサービスをインストールして構成し、適切なQuorumベースの接続ルーティングのためにPostgresを管理するには、2つの方法があります。

ソフトウェアバージョン

HARPは外部ソフトウェアに依存しています。これらは、ここにリストされている最小バージョンに適合する必要があります。

Software

Min Ver

etcd

3.4

PgBouncer

1.14

TPAExec

HARPをインストールして構成する最も簡単な方法は、クラスターの展開と管理にEDBのTPAexecユーティリティを使用することです。このソフトウェアの詳細については、theTPAexec product pageを参照してください。

!!! Note * TPAExecは現在、 BDRクラスター展開専用のEULAを通じてのみ利用可能です。上記のURLにアクセスできない場合は、詳細について販売担当者またはアカウント担当者にお問い合わせください。

TPA config.ymlファイルに次の属性が含まれていることを確認して、 HARPを介してクラスタールーティングを管理する必要があることを認識するように、TPAexec自分自身を構成する必要があります。

cluster_vars:
   * failover_manager: harp

!!! Note * 21.1より前のバージョンのTPAexecでは、若干異なるアプローチが必要です。

*   cluster_vars:
*     enable_harp: true

この後、クラスターを変更するための通常のtpaexecコマンドを呼び出すことにより、 HARPがインストールされます。

tpaexec provision ${CLUSTER_DIR}
tpaexec deploy ${CLUSTER_DIR}

クラスター固有の考慮事項がない限り、他の変更は必要ありません。

パッケージのインストール

現在、CentOS / RHELパッケージソフトはEDBパッケージングインフラストラクチャを介して提供されています。詳細については、HARP productpageを参照してください。

etcdパッケージ

現在、多くの一般的なLinuxディストリビューションのetcdパッケージソフトは、標準のパブリックリポジトリからは入手できません。したがって、 EDBは、RHELおよびCentOSバージョン7および8、Debian、およびUbuntu LTSなどのバリアント用にetcdをパッケージ化しました。繰り返しますが、これらのライブラリを使用するには、 HARPパッケージリポジトリへのアクセスが必要です。

コンセンサスレイヤー

HARPが動作するには、分散コンセンサスレイヤーが必要です。現在、これはbdrまたはetcdのいずれかでなければなりません。 3つ未満のBDRノードを使用する場合、etcdに依存する必要が生じる場合があります。そうしないと、 BDRサービスの停止により、コンセンサスレイヤーが単一ノードに削減され、ノードコンセンサスが妨げられ、Postgresルーティングが無効になります。

etcd

etcdをコンセンサスレイヤーとして使用する場合、etcdはPostgresノードに直接インストールするか、アクセス可能な別の場所にインストールする必要があります。

etcdをコンセンサスレイヤーとして設定するには、これをHARP config.yml構成ファイルに含めます。

dcs:
   * driver: etcd
   * endpoints:
   *   - host1:2379
   *   - host2:2379
   *   - host3:2379

TPAExecを使用する場合、設定済みのetcdエンドポイントはすべてここに自動的に入力されます。

BDR

bdrネイティブコンセンサスレイヤーは、 BDR 3.6.21および3.7.3から利用できます。このコンセンサスレイヤーモデルでは、 BDRクラスターのルーティングを管理する際に補助ソフトウェアは必要ありません。

前述したように、クラスターでクォーラムを使用できるように保証には、ノードのメンテナンスまたは停止時にBDRのコンセンサスレイヤーが応答し続けるように、常に3つ以上のノードを使用します。

BDRをコンセンサスレイヤーとして設定するには、これをconfig.yml構成ファイルに含めます。

dcs:
   * driver: bdr
   * endpoints:
   *   - host=host1 dbname=bdrdb user=harp_user
   *   - host=host2 dbname=bdrdb user=harp_user
   *   - host=host3 dbname=bdrdb user=harp_user

ここからわかるように、 BDRコンセンサスレイヤーのエンドポイントは、標準のPostgres DSN接続フォーマットに従います。