CAN NOT see nodes on mod_cluster status page after httpd receive a graceful restart signal
zhouyaguo Aug 6, 2013 11:00 PMHi,all:
My environment:
suse:
SUSE Linux Enterprise Server 11 (x86_64)
httpd on suse:
linux-01:~ # apache2ctl -v
Server version: Apache/2.2.12 (Linux/SUSE)
Server built: Nov 30 2011 17:54:13
mod_cluster:
1.2.0.Final
moc_cluster config:
###########################################
Listen 172.18.64.45:6666
<VirtualHost 172.18.64.45:6666>
ServerName zyg_mod_cluster_apache
<Directory />
Order deny,allow
Deny from all
Allow from all
</Directory>
KeepAliveTimeout 60
MaxKeepAliveRequests 0
EnableMCPMReceive
ManagerBalancerName mycluster
# don't use multicast
ServerAdvertise Off
###### only used when ServerAdvertise on ###########
# seconds,Time between the multicast messages advertising the IP and port
#AdvertiseFrequency 5
#
# IP should correspond to AdvertiseGroupAddress and port to AdvertisePort in the JBoss AS/JBossWeb/Tomcat configuration
#AdvertiseGroup 224.0.1.105:23364
#
#That is the address and port httpd is bind to send the multicast messages. This allow to specify an address on multi IP address boxes
#AdvertiseBindAddress 0.0.0.0:23364
#####################################################
</VirtualHost>
<Location /status>
SetHandler mod_cluster-manager
Order deny,allow
Deny from all
Allow from all
AllowDisplay on
</Location>
Maxnode 20
#This directive allows a user to specify a timeout on proxy requests. This is useful when you have a slow/buggy appserver which hangs, and you would rather just return a timeout and fail gracefully instead of waiting however long it takes the server to return
ProxyTimeout 60
# turn on to pass the Host: header from incoming request to the proxied host, value of Host header will be used by sso to redirect(request.getServerName() is used in sso)
ProxyPreserveHost On
##########################################
JBoss:
JBoss EAP 5.1.2
One day, i find some log in httpd error_log:
[Sun May 26 20:30:01 2013] [notice] Graceful restart requested, doing restart ---caused by logrotate (/etc/init.d/apache2 reload)
httpd2-prefork: Could not reliably determine the server's fully qualified domain name, using 172.16.26.111 for ServerName
[Sun May 26 20:30:01 2013] [warn] mod_advertise: ServerAdvertise Address or Port not defined, Advertise disabled!!! --I don't need advertise,but use tcp instead,it's ok here.
[Sun May 26 20:30:01 2013] [notice] Apache/2.2.12 (Linux/SUSE) mod_ssl/2.2.12 OpenSSL/0.9.8j-fips mod_cluster/1.2.0.Final configured -- resuming normal operations
I set KeepAliveTimeout 60 for mod_cluster and i know jboss report it's STATUS to mod_cluster every 10s.
After httpd received a graceful restart signal(e.g. reload), i can still successfully capture STATUS http request packets from jboss using tcpdump command, but i can NOT see nodes on status page and httpd do NOT forward request to jboss any more.
Any ideas?
Regards