[pgpool-general: 3609] Re: Watchdog start failure

Yugo Nagata nagata at sraoss.co.jp
Thu Apr 9 14:34:18 JST 2015


Hi,

Second pgpool-II tried to become active and bring up VIP,
but the VIP was brought up by the first pgpool-II, then failed
to start up.

Can postgres-1 and postgres-2 servers comunicate with each other
on 9000 port? The second pgpool-II might fail to find the other
pgpool.

If there is no problem with network comunication, starting the
second pgpool-II with a few seconds interval might resolve this.
When the inteval is too short, the first pgpool-II's watchdog 
can not be ready to accept standby pgpool-II.

On Wed, 8 Apr 2015 14:13:45 +0200
Mephysto <mephystoonhell at gmail.com> wrote:

> Hi there,
> I'm still testing pgpool 3.4.1 watchdog. I resolved permission issue for
> ifup and ifdown, but now I am some issues in starting phase of stanby
> pgpool instance.
> 
> When I start master pgpool I receive this output:
> 
> 2015-04-08 12:10:01: pid 10402: LOG:  watchdog bringing up delegate IP,
> 'ifconfig up' succeeded
> 2015-04-08 12:10:01: pid 10402: DEBUG:  watchdog standing for master
> 2015-04-08 12:10:01: pid 10402: DETAIL:  send the packet to declare the new
> master
> 2015-04-08 12:10:01: pid 10402: LOG:  watchdog escalation successful,
> escalated to master pgpool
> 2015-04-08 12:10:01: pid 10402: LOG:  watchdog started
> 2015-04-08 12:10:01: pid 10402: LOG:  pgpool-II successfully started.
> version 3.4.1 (tataraboshi)
> 
> But, when I star secondary instance, I receive this error:
> 
> 2015-04-08 14:08:21: pid 19376: DEBUG:  watchdog executing ping
> 2015-04-08 14:08:21: pid 19376: DETAIL:  succeed to ping 192.168.56.249
> 2015-04-08 14:08:21: pid 19376: DEBUG:  watchdog ping
> 2015-04-08 14:08:21: pid 19376: DETAIL:  ping data: PING 192.168.56.249
> (192.168.56.249) 56(84) bytes of data.
> 
>         --- 192.168.56.249 ping statistics ---
>         3 packets transmitted, 3 received, 0% packet loss, time 2003ms
>         rtt min/avg/max/mdev = 0.412/1.106/1.799/0.566 ms
> 
> 2015-04-08 14:08:21: pid 19376: FATAL:  failed to initialize watchdog,
> delegate_IP "192.168.56.249" already exists
> 
> 
> This is configuration of master instance:
> 
> #------------------------------------------------------------------------------
> # WATCHDOG
> #------------------------------------------------------------------------------
> 
> # - Enabling -
> 
> use_watchdog = on
>                                     # Activates watchdog
>                                     # (change requires restart)
> 
> # -Connection to up stream servers -
> 
> trusted_servers = ''
>                                     # trusted server list which are used
>                                     # to confirm network connection
>                                     # (hostA,hostB,hostC,...)
>                                     # (change requires restart)
> ping_path = '/bin'
>                                     # ping command path
>                                     # (change requires restart)
> 
> # - Watchdog communication Settings -
> 
> wd_hostname = 'postgres-1'
>                                     # Host name or IP address of this
> watchdog
>                                     # (change requires restart)
> wd_port = 9000
>                                     # port number for watchdog service
>                                     # (change requires restart)
> wd_authkey = ''
>                                     # Authentication key for watchdog
> communication
>                                     # (change requires restart)
> 
> # - Virtual IP control Setting -
> 
> delegate_IP = '192.168.56.249'
>                                     # delegate IP address
>                                     # If this is empty, virtual IP never
> bring up.
>                                     # (change requires restart)
> ifconfig_path = '/opt/postgres/pgpool-II/scripts'
>                                     # ifconfig command path
>                                     # (change requires restart)
> if_up_cmd = 'ifup.sh $_IP_$'
>                                     # startup delegate IP command
>                                     # (change requires restart)
> if_down_cmd = 'ifdown.sh'
>                                     # shutdown delegate IP command
>                                     # (change requires restart)
> 
> arping_path = '/usr/sbin'           # arping command path
>                                     # (change requires restart)
> 
> arping_cmd = 'sudo arping -U $_IP_$ -w 1'
>                                     # arping command
>                                     # (change requires restart)
> 
> # - Behaivor on escalation Setting -
> 
> clear_memqcache_on_escalation = on
>                                     # Clear all the query cache on shared
> memory
>                                     # when standby pgpool escalate to
> active pgpool
>                                     # (= virtual IP holder).
>                                     # This should be off if client connects
> to pgpool
>                                     # not using virtual IP.
>                                     # (change requires restart)
> wd_escalation_command = ''
>                                     # Executes this command at escalation
> on new active pgpool.
>                                     # (change requires restart)
> 
> # - Lifecheck Setting -
> 
> # -- common --
> 
> wd_lifecheck_method = 'query'
>                                     # Method of watchdog lifecheck
> ('heartbeat' or 'query')
>                                     # (change requires restart)
> wd_interval = 10
>                                     # lifecheck interval (sec) > 0
>                                     # (change requires restart)
> 
> # -- heartbeat mode --
> 
> wd_heartbeat_port = 9694
>                                     # Port number for receiving heartbeat
> signal
>                                     # (change requires restart)
> wd_heartbeat_keepalive = 2
>                                     # Interval time of sending heartbeat
> signal (sec)
>                                     # (change requires restart)
> wd_heartbeat_deadtime = 30
>                                     # Deadtime interval for heartbeat
> signal (sec)
>                                     # (change requires restart)
> heartbeat_destination0 = 'postgres-2'
>                                     # Host name or IP address of
> destination 0
>                                     # for sending heartbeat signal.
>                                     # (change requires restart)
> heartbeat_destination_port0 = 9694
>                                     # Port number of destination 0 for
> sending
>                                     # heartbeat signal. Usually this is the
>                                     # same as wd_heartbeat_port.
>                                     # (change requires restart)
> heartbeat_device0 = ''
>                                     # Name of NIC device (such like 'eth0')
>                                     # used for sending/receiving heartbeat
>                                     # signal to/from destination 0.
>                                     # This works only when this is not empty
>                                     # and pgpool has root privilege.
>                                     # (change requires restart)
> 
> #heartbeat_destination1 = 'host0_ip2'
> #heartbeat_destination_port1 = 9694
> #heartbeat_device1 = ''
> 
> # -- query mode --
> 
> wd_life_point = 3
>                                     # lifecheck retry times
>                                     # (change requires restart)
> wd_lifecheck_query = 'SELECT 1'
>                                     # lifecheck query to pgpool from
> watchdog
>                                     # (change requires restart)
> wd_lifecheck_dbname = 'template1'
>                                     # Database name connected for lifecheck
>                                     # (change requires restart)
> wd_lifecheck_user = 'postgres'
>                                     # watchdog user monitoring pgpools in
> lifecheck
>                                     # (change requires restart)
> wd_lifecheck_password = ''
>                                     # Password for watchdog user in
> lifecheck
>                                     # (change requires restart)
> 
> # - Other pgpool Connection Settings -
> 
> other_pgpool_hostname0 = 'postgres-2'
>                                     # Host name or IP address to connect to
> for other pgpool 0
>                                     # (change requires restart)
> other_pgpool_port0 = 9999
>                                     # Port number for othet pgpool 0
>                                     # (change requires restart)
> other_wd_port0 = 9000
>                                     # Port number for othet watchdog 0
>                                     # (change requires restart)
> #other_pgpool_hostname1 = 'host1'
> #other_pgpool_port1 = 5432
> #other_wd_port1 = 9000
> 
> 
> And this is configuration for secondary instance:
> 
> #------------------------------------------------------------------------------
> # WATCHDOG
> #------------------------------------------------------------------------------
> 
> # - Enabling -
> 
> use_watchdog = on
>                                     # Activates watchdog
>                                     # (change requires restart)
> 
> # -Connection to up stream servers -
> 
> trusted_servers = ''
>                                     # trusted server list which are used
>                                     # to confirm network connection
>                                     # (hostA,hostB,hostC,...)
>                                     # (change requires restart)
> ping_path = '/bin'
>                                     # ping command path
>                                     # (change requires restart)
> 
> # - Watchdog communication Settings -
> 
> wd_hostname = 'postgres-2'
>                                     # Host name or IP address of this
> watchdog
>                                     # (change requires restart)
> wd_port = 9000
>                                     # port number for watchdog service
>                                     # (change requires restart)
> wd_authkey = ''
>                                     # Authentication key for watchdog
> communication
>                                     # (change requires restart)
> 
> # - Virtual IP control Setting -
> 
> delegate_IP = '192.168.56.249'
>                                     # delegate IP address
>                                     # If this is empty, virtual IP never
> bring up.
>                                     # (change requires restart)
> ifconfig_path = '/opt/postgres/pgpool-II/scripts'
>                                     # ifconfig command path
>                                     # (change requires restart)
> if_up_cmd = 'ifup.sh $_IP_$'
>                                     # startup delegate IP command
>                                     # (change requires restart)
> if_down_cmd = 'ifdown.sh'
>                                     # shutdown delegate IP command
>                                     # (change requires restart)
> 
> arping_path = '/usr/sbin'           # arping command path
>                                     # (change requires restart)
> 
> arping_cmd = 'arping -U $_IP_$ -w 1'
>                                     # arping command
>                                     # (change requires restart)
> 
> # - Behaivor on escalation Setting -
> 
> clear_memqcache_on_escalation = on
>                                     # Clear all the query cache on shared
> memory
>                                     # when standby pgpool escalate to
> active pgpool
>                                     # (= virtual IP holder).
>                                     # This should be off if client connects
> to pgpool
>                                     # not using virtual IP.
>                                     # (change requires restart)
> wd_escalation_command = ''
>                                     # Executes this command at escalation
> on new active pgpool.
>                                     # (change requires restart)
> 
> # - Lifecheck Setting -
> 
> # -- common --
> 
> wd_lifecheck_method = 'query'
>                                     # Method of watchdog lifecheck
> ('heartbeat' or 'query')
>                                     # (change requires restart)
> wd_interval = 10
>                                     # lifecheck interval (sec) > 0
>                                     # (change requires restart)
> 
> # -- heartbeat mode --
> 
> wd_heartbeat_port = 9694
>                                     # Port number for receiving heartbeat
> signal
>                                     # (change requires restart)
> wd_heartbeat_keepalive = 2
>                                     # Interval time of sending heartbeat
> signal (sec)
>                                     # (change requires restart)
> wd_heartbeat_deadtime = 30
>                                     # Deadtime interval for heartbeat
> signal (sec)
>                                     # (change requires restart)
> heartbeat_destination0 = 'postgres-1'
>                                     # Host name or IP address of
> destination 0
>                                     # for sending heartbeat signal.
>                                     # (change requires restart)
> heartbeat_destination_port0 = 9694
>                                     # Port number of destination 0 for
> sending
>                                     # heartbeat signal. Usually this is the
>                                     # same as wd_heartbeat_port.
>                                     # (change requires restart)
> heartbeat_device0 = ''
>                                     # Name of NIC device (such like 'eth0')
>                                     # used for sending/receiving heartbeat
>                                     # signal to/from destination 0.
>                                     # This works only when this is not empty
>                                     # and pgpool has root privilege.
>                                     # (change requires restart)
> 
> #heartbeat_destination1 = 'host0_ip2'
> #heartbeat_destination_port1 = 9694
> #heartbeat_device1 = ''
> 
> # -- query mode --
> 
> wd_life_point = 3
>                                     # lifecheck retry times
>                                     # (change requires restart)
> wd_lifecheck_query = 'SELECT 1'
>                                     # lifecheck query to pgpool from
> watchdog
>                                     # (change requires restart)
> wd_lifecheck_dbname = 'template1'
>                                     # Database name connected for lifecheck
>                                     # (change requires restart)
> wd_lifecheck_user = 'postgres'
>                                     # watchdog user monitoring pgpools in
> lifecheck
>                                     # (change requires restart)
> wd_lifecheck_password = ''
>                                     # Password for watchdog user in
> lifecheck
>                                     # (change requires restart)
> 
> # - Other pgpool Connection Settings -
> 
> other_pgpool_hostname0 = 'postgres-1'
>                                     # Host name or IP address to connect to
> for other pgpool 0
>                                     # (change requires restart)
> other_pgpool_port0 = 9999
>                                     # Port number for othet pgpool 0
>                                     # (change requires restart)
> other_wd_port0 = 9000
>                                     # Port number for othet watchdog 0
>                                     # (change requires restart)
> #other_pgpool_hostname1 = 'host1'
> #other_pgpool_port1 = 5432
> #other_wd_port1 = 9000
> 
> 
> 
> 
> Can you help to resolve my issue?
> 
> Thanks in advance.
> 
> Best regards.
> 
> Meph


-- 
Yugo Nagata <nagata at sraoss.co.jp>


More information about the pgpool-general mailing list