マスターサーバーに接続できません:postgresql HAのインストール

マスターサーバーに接続できません:postgresql HAのインストール

3つのノードにインストールしてPostgresql-9.4 High Availability (HA)みてくださいRHEL7。 3つのノードすべてで、それに応じてインストールpostgresql、更新、およびpostgresql.confファイルpg_hba.confをインストールします。すべての設定が完了したら、マスターサーバーでcheckコマンドを使用して同期ストリーミングレプリケーションを確認してください。

select * from pg_stat_replication;

それは戻ってくる

postgres=# select * from pg_stat_replication;
 pid | usesysid | usename | application_name | client_addr | client_hostname | client_port | backend_start | backend_xmin | state | sent_location | write_
location | flush_location | replay_location | sync_priority | sync_state
-----+----------+---------+------------------+-------------+-----------------+-------------+---------------+--------------+-------+---------------+-------
---------+----------------+-----------------+---------------+------------
(0 rows)

これはコピーがないことを示します。 postgresqlログファイルを見て、スタンバイノードからプライマリノードへの接続が確立されていないことを確認しました。 3 つのノードすべてのログファイルは次のとおりです。

ノード0:

FATAL:  no pg_hba.conf entry for replication connection from host "x.x.x.x (node1)", user "postgres", SSL off
FATAL:  no pg_hba.conf entry for replication connection from host "x.x.x.x (node2)", user "postgres", SSL off

ノード1とノード2:

FATAL:  could not connect to the primary server: 
FATAL:  no pg_hba.conf entry for replication connection from host "x.x.x.x (node0)", user "postgres", SSL off

接続を確認するために、3つのノードすべてでiptablesを無効にしました。他のすべてのノードで/へのpingが可能で、スレーブからマスターへのTelnetはうまく機能しますが、マスターからスレーブへのTelnetは機能しません。なぜこれが起こるのかわかりません(iptablesサービスが停止したにもかかわらず)。

答え1

マスターノード(ノード0):ファイルを更新pg_hba.confし、postgresデータベースへの(ユーザー)アクセスを追加します。

スタンバイノード(ノード1とノード2):プライマリノードへの接続を許可するように無効または設定iptablesします。firewall

/etc/sysconfig/iptables に次の行を追加して再起動します。

 -A INPUT -m state --state NEW -m tcp -p tcp --dport 5432(port) -j ACCEPT
 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

このソリューションは私の問題を解決しました。

関連情報