[pgcluster: 418] レプリケーションサーバの起動について PGR_Create_Socket_Bind failed

松本義秀 gisyu @ mikilab.doshisha.ac.jp
2004年 7月 15日 (木) 21:16:16 JST


お世話になっております.松本と申します.

【困っていること】
レプリケーションサーバ1台,クラスタサーバ2台という構成で試しており,
pgsql/bin/pgreplicate -D /usr/local/pgsql/data
としてレプリケーションサーバを起動させようとしましたが,
pgreplicateプロセスが立ち上がりませんでした.
再度起動コマンドを実行したところ,
pid file /usr/local/pgsql/data//pgreplicate.pid found. is another pgreplicate running?
とのメッセージが表示されたので,
pgsql/bin/pgreplicate -D /usr/local/pgsql/data stop
としてもう一度起動コマンドを入力しましたが,上記のメッセージが表示されました.
そこで/usr/local/pgsql/data/pgreplicate.pidファイルを削除して,
デバッグモードで起動したところ,以下のような出力になりました.


-----デバッグモード起動メッセージ-----
[postgres @ aprdb11 pgsql]$ bin/pgreplicate -D /usr/local/pgsql/data/ -n -v
DEBUG(init_server_tbl): /usr/local/pgsql/data//pgreplicate.log open ok

DEBUG(init_server_tbl): /usr/local/pgsql/data//pgreplicate.sts open ok

DEBUG(init_server_tbl): PGR_Get_Conf_Data ok
DEBUG(init_server_tbl): LoadBalanceTbl allocate ok
DEBUG(init_server_tbl): CascadeTbl shmget ok
DEBUG(init_server_tbl): CascadeTbl shmat ok
DEBUG(init_server_tbl): CascadeInf shmget ok
DEBUG(init_server_tbl): CascadeInf shmat ok
DEBUG(init_server_tbl): CommitLog shmget ok
DEBUG(init_server_tbl): Commit_Log_Tbl shmat ok
DEBUG(init_server_tbl): Conf data read ok
DEBUG(init_server_tbl): HostTbl shmget ok
DEBUG(init_server_tbl): HostTbl shmat ok
DEBUG(write_log_file): LockWaitTbl shmget ok
DEBUG(write_log_file): LockWaitTbl shmat ok
DEBUG(PGRrecovery_main): PGRrecovery_main bind port 7778
ERROR(PGRrecovery_main): PGR_Create_Socket_Bind failed
DEBUG(replicate_main): replicate main 8777 port bind OK

DEBUG(PGRreplicate_packet_send): cmdSts=N

DEBUG(PGRreplicate_packet_send): cmdType=

DEBUG(PGRreplicate_packet_send): port=0

DEBUG(PGRreplicate_packet_send): pid=0

DEBUG(PGRreplicate_packet_send): except_host=

DEBUG(PGRreplicate_packet_send): from_host=aprdb11

DEBUG(PGRreplicate_packet_send): dbName=template1

DEBUG(PGRreplicate_packet_send): userName=postgres

DEBUG(PGRreplicate_packet_send): recieve sec=0

DEBUG(PGRreplicate_packet_send): recieve usec=0

DEBUG(PGRreplicate_packet_send): query_size=57

DEBUG(PGRreplicate_packet_send): query=SELECT PGR_SYSTEM_COMMAND_FUNCTION(1,'aprdb11',8777,7778)

DEBUG(PGRreplicate_packet_send): useFlag[2]
DEBUG(PGRis_same_host): not same host:
DEBUG(is_need_response): sem_lock[1]
DEBUG(PGRreplicate_packet_send_each_server): except:0@ host:5432 @ aprdb5.apr.jaeri.go.jp

DEBUG(PGRreplicate_packet_send_each_server): send replicate to:aprdb5.apr.jaeri.go.jp

DEBUG(PGRsend_replicate_packet_to_server): host(aprdb5.apr.jaeri.go.jp) : port(5432)
DEBUG(getTransactionTbl): not found in getTransactionTbl
Segmentation fault
-----------------------------------
エラーはERROR(PGRrecovery_main): PGR_Create_Socket_Bind failed
として出ているのですが,原因および対処の方法が分かりません.


【環境】
現在PGClusterを試そうとしている環境です.
ファイアウォールは動作させていません.
また,いずれのサーバのpg_hba.confにも
all   all  172.16.62.0   255.255.255.0   trust
の行を追記しています.

レプリケーションサーバ
	ホスト名:aprdb11.apr.jaeri.go.jp
	IP:172.16.62.161
	OS:RedHat9 (64bit)
	kernel:2.4.20
	CPU:AMD Athlon(tm) 64 FX-51 Processor
	PGCluster1.0.7(フルパッケージ版)
	rsync:rsync  version 2.5.5  protocol version 26

クラスタサーバ1
	ホスト名:aprdb5.apr.jaeri.go.jp
	IP:172.16.62.155
	OS:RedHat9 (32bit)
	kernel:2.4.20
	CPU:Intel(R) Xeon(TM) CPU 2.00GHz *2
	PGCluster1.0.7(フルパッケージ版)
	rsync:rsync  version 2.5.5  protocol version 26

クラスタサーバ2
	ホスト名:aprdb7.apr.jaeri.go.jp
	IP:172.16.62.157
	OS:RedHat9 (32bit)
	kernel:2.4.20
	CPU:AMD Athlon(tm) MP 2200+ *2
	PGCluster1.0.7(フルパッケージ版)
	rsync:rsync  version 2.5.5  protocol version 26



非常に初歩的でお恥ずかしいのですが,ご教授願えませんでしょうか.
また,情報不足な点などありましたらご指摘いただければ幸いです.
よろしくお願いいたします.


--------------------------------------
同志社大学大学院 工学研究科
松本義秀 gisyu @ mikilab.doshisha.ac.jp



pgcluster メーリングリストの案内