[pgpool-general-jp: 1317] failover_commandの中でpcp_attach_nodeするとBackendError

katosai_加藤哉門 katosai @ mapmaster.co.jp
2014年 10月 31日 (金) 17:11:12 JST


$B$O$8$a$^$7$F!"2CF#$H?=$7$^$9!#(B

$B=i$a$F$NEj9F$G$9$N$G!"Ej9FJ}K!$,4V0c$C$F$$$^$7$?$i$9$_$^$;$s!#(B
Pgpool$B-6(B3.3.4$B$G%(%i!<$,H/@8$7$^$7$?$,!"860x$,$o$+$i$J$$$?$a:$$C$F$*$j$^$9!#(B

$B"#4D6-(B
OS:$BA4$F(BCentOS6.4
DB:PostgreSQL9.3.4
Pgpool$B!'(BPgpool$B-6(B3.3.4

PC1:pgpool
   |-------PC2:DB1($B%^%9%?(B)
   |-------PC2:DB2($B%9%l!<%V(B)
   |-------PC2:DB3($B%9%l!<%V(B)

DB1$B!"(BDB2$B!"(BDB3$B$OF14|%l%W%j%1!<%7%g%s$r$7$F$*$j!"(B
DB1$B$,%^%9%?!"(BDB2,DB3$B$O%9%l!<%V$H$J$C$F$*$j$^$9!#(B

$B"#8=>](B
$B%^%9%?$N(BDB1$B$,%U%'!<%k%*!<%P$7$?>l9g$O!"0J2<$N%3%^%s%I$,<B9T$5$l$^$7$?!#(B
$B-!(Bfailover_command
$B-"(Bfollow_master_command

$B%3%^%s%I$NFbMF$O0J2<$NDL$j$G$9!#(B
$B!!-!!'!&%9%l!<%V$r?7%^%9%?$X>:3J(B
$B!!-"!'!&5l%^%9%?$N(Brecovery.conf$B @ _Dj$H(BDB$B5/F0!"%*%s%i%$%sI|5"(B
$B!!!!!!!&B>$N%9%l!<%V$N(Brecovery.conf$B @ _Dj$H(BDB$B:F5/F0!"%*%s%i%$%sI|5"(B

$B>e5-%3%^%s%I$K$h$j!"(BDB1$B$O<+F0$G%*%s%i%$%sI|5"$9$k$3$H$,=PMh$^$7$?!#(B

$B<!$K!"%9%l!<%V$N(BDB2$B$,%U%'!<%k%*!<%P$7$?>l9g$O!"0J2<$N%3%^%s%I$,<B9T$5$l$^$7$?!#(B
$B-!(Bfailover_command

failover_command$B$7$+<B9T$5$l$J$$$?$a!"$3$N%3%^%s%I$K%9%l!<%V(BDB$B$NI|5"$N(B
$B=hM}$r$5$;$h$&$H9M$($^$7$?!#(B
$B%3%^%s%I$NFbMF$O0J2<$NDL$j$G$9!#(B
$B!!-!!'!&%9%l!<%V(BDB$B$N5/F0!"%*%s%i%$%sI|5"(B

$B-!$N%3%^%s%I$NCf$G%*%s%i%$%sI|5"(B(pcp_attach_node)$B$,<B9T$5$l$k$H!"(B
BackendError$B$H$J$j$^$7$?!#(B

$B%(%i!<$N8e$K!"-!$G<B;\$7$?(Bpcp_attach_node$B$r%W%m%s%W%H>e$+$i<B9T$9$k$H!"(B
$B @ .8y$7$^$7$?!#(B


$B"#(Bpgpool.log
$B%m%0$O0J2<$NDL$j$G$9!#(B
2014-10-31 16:04:56 LOG:   pid 1732: pcp child process received restart request
2014-10-31 16:04:56 LOG:   pid 1573: PCP child 1732 exits with status 256 in failover()
2014-10-31 16:04:56 LOG:   pid 1573: fork a new PCP child pid 1788 in failover()
2014-10-31 16:04:56 DEBUG: pid 1573: health check: clearing alarm
2014-10-31 16:04:56 DEBUG: pid 1573: failover_handler called
2014-10-31 16:04:56 DEBUG: pid 1573: failover_handler: starting to select new master node
2014-10-31 16:04:56 ERROR: pid 1573: failover_handler: invalid node_id -1 MAX_NUM_BACKENDS: 128
2014-10-31 16:04:56 DEBUG: pid 1573: reap_handler called
2014-10-31 16:04:56 DEBUG: pid 1573: reap_handler: call wait3
2014-10-31 16:04:56 LOG:   pid 1573: worker child 1733 exits with status 256
2014-10-31 16:04:56 LOG:   pid 1573: fork a new worker child pid 1789

$B%m%0$N%(%i!<FbMF$+$i$_$k$H!"(Bpcp_attach_node$B$K;XDj$7$?%N!<%I(BID$B$,IT @ 5$N$h$&$G$9!#(B
$B$G$9$,!"D>8e$K%3%^%s%I%W%m%s%W%H$+$iF1$8(Bpcp_attach_node$B$r<B9T$9$k$H @ .8y$7$F$$$k$N$G(B
$B0z?t$N;XDj$O4V0c$C$F$$$J$$$H;W$$$^$9!#(B

$B"#(Bpgpool.conf
$B @ _Dj$O0J2<$NDL$j$G$9!#(B
replication_mode = off
load_balance_mode = on
connection_cache = off
master_slave_mode = on
master_slave_sub_mode = 'stream'
sr_check_period = 10
sr_check_user = 'postgres'
sr_check_password = 'postgres'
delay_threshold = 10000000
backend_hostname0 = 'xxxx' $B"+(BPC2$B$N(BIP
backend_port0 = 5432
backend_weight0 = 1
backend_hostname1 = 'xxxx' $B"+(BPC2$B$N(BIP
backend_port1 = 5433
backend_weight1 = 1
backend_hostname2 = 'xxxx' $B"+(BPC2$B$N(BIP
backend_port2 = 5434
backend_weight2 = 1
follow_master_command = '/usr/local/pgpool-3.3/bin/follow_master.sh %d %h %p %D %m %M %H %P %r %R'
failover_command = '/usr/local/pgpool-3.3/bin/failover.sh %d %h %p %D %m %M %H %P %r %R'


$B"#(Bfailover.sh
############################
# $B%9%?%s%P%$%N!<%I$N5/F0(B
############################
ssh -l postgres -T $failed_host_name $POSTMASTER -i -p $failed_port -D $failed_db_cluster & >> $log 2>&1 < /dev/null
sleep 2

############################
# $B%9%?%s%P%$%N!<%I$NI|5"(B
############################
/usr/local/pgpool-3.3/bin/pcp_attach_node 5 localhost $PCP_PORT $PCP_SUPER_USER $PCP_SUPER_USER $failed_node_id >> $log 2>&1


$B"#<ALd(B
$B-!(Bpcp_attach_node$B$,<:GT$9$k860x$O2?$G$7$g$&$+!)BP1~J}K!$O$"$k$G$7$g$&$+!)(B
$B-"%9%l!<%V(BDB$B$N%U%'!<%k%*!<%P;~$NBP1~$O9g$C$F$$$k$G$7$g$&$+!)(B
$B"*(Bfailover_command$B$NCf$G(Bpcp_attach_node$B$r<B9T$7$F$h$$$N$+!)(B


$B$4B8CN$NJ}$,$*$i$l$^$7$?$i$465<x$*4j$$CW$7$^$9!#(B
$B$*<j?t$G$9$,!"$h$m$7$/$*4j$$$7$^$9!#(B




pgpool-general-jp メーリングリストの案内