Hi André, Her is the content of one of the workers.properties file. On the other machine the names are changed accordingly:
bml0065:local administrator$ cat apache2/conf/workers.properties worker.list = lb,jkstatus worker.lb.type=lb worker.lb.balance_workers=tomcat1,tomcat3 #,tomcat2,tomcat4 worker.lb.sticky_session = True worker.lb.sticky_session_force = False worker.jkstatus.type=status worker.tomcat1.type = ajp13 worker.tomcat1.host = bml0066.yalepath.org worker.tomcat1.port = 8109 worker.tomcat1.lbfactor = 1 worker.tomcat1.redirect=tomcat3 #worker.tomcat2.type = ajp13 #worker.tomcat2.host = bml0066.yalepath.org #worker.tomcat2.port = 8209 #worker.tomcat2.lbfactor = 1 #worker.tomcat2.redirect=tomcat4 worker.tomcat3.type = ajp13 worker.tomcat3.host = bml0065.yalepath.org worker.tomcat3.port = 8309 worker.tomcat3.lbfactor = 1 worker.tomcat3.redirect=tomcat1 #worker.tomcat4.type = ajp13 #worker.tomcat4.host = bml0065.yalepath.org #worker.tomcat4.port = 8409 #worker.tomcat4.lbfactor = 1 #worker.tomcat4.redirect=tomcat2 Originally planned 2 tomcats per machine but now I try to simplify as much as I can. My next step is to set logging to debug and try to split the atoms to see where do I have the disaster. Let me know if you see something wrong or suspicious. There was an occasion when for the worker on the actual machine I used localhost for host and that also worked when I just load balanced tomcats by selecting one or the other proxy balance members directly without using the reverse proxy. Then for the sake of clearness I specified the FQDN for hostnames. Thanks ahead, János On Mar 23, 2011, at 11:42 AM, André Warnier wrote: > Just a vague suspicion.. > > What are the hostnames which you use in your workers.properties, for the > Tomcats ? > > > > János Löbb wrote: >> Hi Igor, >> I use mod-proxy to balance the apaches/httpds. I use mod-jk t balance the >> tomcats. For the tomcats f course I also have the workers.properties files >> in the apache2/conf directory. When invoke the URL to the individual >> balance members, everything works fine. It is when I try to use the reverse >> proxy then every attempt to any of the tomcats creates a new session, so >> fail over does not work. >> Thanks, >> János >> On Mar 22, 2011, at 6:59 PM, Igor Cicimov wrote: >>> Interesting I had no idea you can mix mod_proxy and mod_jk, thought you >>> should use the one or the other. What I do I have workers.properties file in >>> the Apache conf directory with load-balancer worker that takes care of the >>> load balancing ans sticky sessions. >>> >>> On Wed, Mar 23, 2011 at 8:54 AM, János Löbb <janos.l...@yale.edu> wrote: >>> >>>> Hi, >>>> >>>> I have two machines bml0065.yalepath.org and bml0066.yalepath.org. Both >>>> have OSX 10.6.6, apache 2.2.17 and mod_jk 1.2.31 installed. Tomcat is >>>> 7.0.10 on both. >>>> >>>> Apache was compiled on both machines with proxy, proxy-balancer, proxy-http >>>> and proxy-ajp enabled. >>>> >>>> The bml0065 machine is configured as a reverse proxy. >>>> >>>> The theory is, that users hit the bml0065 machine like >>>> >>>> http://bml0065.yalepath.org/tc/examples/servlets/servlet/SessionExample >>>> >>>> and using mod-proxy and mod-proxy-http it will select either bml0065 or >>>> bml0066 depending on the lbmethod configured. Then let say it selects >>>> bml0065. Then it comes to this machine as: >>>> >>>> http://bml0065.yalepath.org/examples/servlets/servlet/SessionExample >>>> >>>> From here, because there is a JkMount for examples in its httpd.conf, it >>>> connects via mod_jk to the Tomcat instance on this machine, in this case >>>> tomcat3. >>>> >>>> The problem is that as soon the reverse proxy is involved new sessions are >>>> created all the time, so session failover do not work. If I take the >>>> reverse proxy out from the picture, everything works. >>>> >>>> Here is the reverse proxy config from httpd.conf of the bml0065 machine >>>> >>>> JkLogLevel info >>>> JkMount /examples/* lb >>>> JkMount /examples/servlets/servlet/* lb >>>> JkMount /jkmanager/* jkstatus >>>> JkWorkersFile "/usr/local/apache2/conf/workers.properties" >>>> JkLogFile "/usr/local/apache2/logs/mod_jk.log >>>> >>>> ProxyRequests Off >>>> <Proxy balancer://pathCluster> >>>> BalancerMember http://bml0065.yalepath.org loadfactor=10 >>>> route=tomcat3 >>>> BalancerMember http://bml0066.yalepath.org loadfactor=10 >>>> route=tomcat1 >>>> ProxySet lbmethod=bytraffic >>>> </Proxy> >>>> ProxyPass /tc/ balancer://pathCluster/ >>>> stickysession=JSESSIONID|jsessionid >>>> ProxyPassReverse /tc/ balancer://pathCluster/ >>>> >>>> >>>> <Location /balancer-manager> >>>> SetHandler balancer-manager >>>> Order Deny,Allow >>>> Allow from .yalepath.org >>>> </Location> >>>> >>>> A very similar setup worked in 2009 with Tomcat 6.0.18 and httpd 2.2.11. >>>> >>>> Here are the snippets from both machine catalina.out file >>>> >>>> <snip bml0065> >>>> Mar 22, 2011 5:06:11 PM org.apache.catalina.core.ApplicationContext log >>>> INFO: SessionListener: >>>> sessionCreated('0409F29D221545DB0BB5F62205B24471.tomcat3') >>>> Mar 22, 2011 5:06:11 PM org.apache.catalina.core.ApplicationContext log >>>> INFO: SessionListener: >>>> attributeAdded('0409F29D221545DB0BB5F62205B24471.tomcat3', 's1', 't3') >>>> Mar 22, 2011 5:07:06 PM org.apache.catalina.core.ApplicationContext log >>>> INFO: SessionListener: >>>> sessionCreated('DE7A014A0F1659F0B777E0DF4A2355D4.tomcat3') >>>> Mar 22, 2011 5:07:06 PM org.apache.catalina.core.ApplicationContext log >>>> INFO: SessionListener: >>>> attributeAdded('DE7A014A0F1659F0B777E0DF4A2355D4.tomcat3', 's2', 't3') >>>> </snip> >>>> >>>> <snip bml0066> >>>> Mar 22, 2011 5:06:11 PM org.apache.catalina.core.ApplicationContext log >>>> INFO: SessionListener: >>>> sessionCreated('0409F29D221545DB0BB5F62205B24471.tomcat3') >>>> Mar 22, 2011 5:06:11 PM org.apache.catalina.core.ApplicationContext log >>>> INFO: SessionListener: >>>> attributeAdded('0409F29D221545DB0BB5F62205B24471.tomcat3', 's1', 't3') >>>> Mar 22, 2011 5:07:06 PM org.apache.catalina.core.ApplicationContext log >>>> INFO: SessionListener: >>>> sessionCreated('DE7A014A0F1659F0B777E0DF4A2355D4.tomcat3') >>>> Mar 22, 2011 5:07:06 PM org.apache.catalina.core.ApplicationContext log >>>> INFO: SessionListener: >>>> attributeAdded('DE7A014A0F1659F0B777E0DF4A2355D4.tomcat3', 's2', 't3') >>>> </snip> >>>> >>>> >>>> Here is the last access session from the access_log: >>>> <snip bml0065> >>>> 10.84.2.65 - - [22/Mar/2011:17:06:11 -0400] "POST >>>> /examples/servlets/servlet/SessionExample HTTP/1.1" 200 1114 >>>> 10.84.2.41 - - [22/Mar/2011:17:06:11 -0400] "POST >>>> /tc/examples/servlets/servlet/SessionExample HTTP/1.1" 200 1114 >>>> 10.84.2.65 - - [22/Mar/2011:17:06:11 -0400] "GET >>>> /examples/servlets/images/code.gif HTTP/1.1" 304 - >>>> 10.84.2.41 - - [22/Mar/2011:17:06:11 -0400] "GET >>>> /tc/examples/servlets/images/code.gif HTTP/1.1" 304 - >>>> 10.84.2.65 - - [22/Mar/2011:17:06:11 -0400] "GET >>>> /examples/servlets/images/return.gif HTTP/1.1" 304 - >>>> 10.84.2.41 - - [22/Mar/2011:17:06:11 -0400] "GET >>>> /tc/examples/servlets/images/return.gif HTTP/1.1" 304 - >>>> ::1 - - [22/Mar/2011:17:06:18 -0400] "OPTIONS * HTTP/1.0" 200 - >>>> ::1 - - [22/Mar/2011:17:06:19 -0400] "OPTIONS * HTTP/1.0" 200 - >>>> 10.84.2.65 - - [22/Mar/2011:17:07:06 -0400] "POST >>>> /examples/servlets/servlet/SessionExample HTTP/1.1" 200 1114 >>>> 10.84.2.41 - - [22/Mar/2011:17:07:06 -0400] "POST >>>> /tc/examples/servlets/servlet/SessionExample HTTP/1.1" 200 1114 >>>> </snip> >>>> >>>> The 10.84.2.41 is my machine. In the log above looks like the hit to the >>>> reverse proxy - with the /tc/ start - inserted later than the converted url >>>> for the given balance member. >>>> >>>> There is nothing interesting in the apache error_log. >>>> >>>> What am I doing wrong ? >>>> >>>> This is a test cluster. The application developer wants to test his app's >>>> failover by pulling the ethernet plug out from the non reverse proxy when >>>> the session is on that machine. >>>> >>>> Thanks ahead, >>>> >>>> János >>>> >>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >>>> For additional commands, e-mail: users-h...@tomcat.apache.org >>>> >>>> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >> For additional commands, e-mail: users-h...@tomcat.apache.org > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org