[pgpool-general-jp: 1408] Re: カスケードレプリケーションを利用している場合に、スレーブノードに接続できない
Tatsuo Ishii
ishii @ sraoss.co.jp
2016年 7月 6日 (水) 08:39:25 JST
> はじめまして、森と申します。
>
> 以下の環境で、PostgreSQL を運用しております。
>
> ---------------------------------------------------------------------------
> ・OS : Amazon Linux AMI release 2016.03
> ・PostgreSQL 9.3
> ・以下の構成でStreaming Replication
>
> master --> slave1 --> slave2 ( 全て非同期)
> ---------------------------------------------------------------------------
>
> 「pgpool-II 3.5.2」を利用して、各ノードへ接続設定を行ったところ、slave2に対してのみ接続が行えません。
>
> 詳細な状況は以下のとおりです。
>
> -------------------------------------------------------------------------
> --------------------
>
> ■状況1
>
> pgpool.confを下記設定すると、両ノードに問題なく接続できます。
>
> ・backend 0 にmaster
> ・backend 1 にslave1
>
> ■状況2
>
> pgpool.confを下記設定すると、slave2へ接続できません。(接続されません)
>
> ・backend 0 にmaster
> ・backend 1 にslave2
>
> pgpool_statusを見ると、slave2はunusedになっています。
>
> up
> unused
>
> ■状況3
>
> pgpool.confを下記設定すると、slave2のみへ接続できません。(接続されません)
>
> ・backend 0 にmaster
> ・backend 1 にslave1
> ・backend 2 にslave2
>
> ■状況4
>
> pgpool.confを下記設定すると、slave2へ接続できます。
>
> ・backend 0 にslave2
>
> -------------------------------------------------------------------------
> --------------------
>
> 上記のような状況になり得る原因について、なにかお心当たりが有る方がいらっしゃましたら、少しでも情報を頂ければと思っています。
>
> どうぞ宜しくお願いします。
手元の環境で確認しましたが、特に問題なく動作しています。設定の問題ではないでしょうか。
1) pgpool_setup -n 3 で3台構成のstreaming replicationを作成
2) backend 2 (port 11004)のrecovery.confを修正してupstreamを backend 1 (port 11003)に向ける
3) startall で起動
4) show pool_statusで起動を確認
5) 念の為 select * from pg_stat_replication で、backend 1の状態を取得できることを確認
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp
pgpool-general-jp メーリングリストの案内