Installation

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

管理対象ノード上のHARPマネージャー(``harp-manager``)他の場所でのHARPプロキシ(harp-proxy)

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

ソフトウェアバージョン

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

Software

Min Ver

etcd

3.4

PgBouncer

1.14

TPAExec

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

注釈

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

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

cluster_vars:
  failover_manager: harp

注釈

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

cluster_vars:
  enable_harp: true

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

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

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

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

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

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接続フォーマットに従います。