tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Jung <>
Subject Re: mod_jk, lb cluster, multiple web servers
Date Mon, 03 Mar 2008 22:27:08 GMT
Hi Tim,

Tim Alberts schrieb:
> I have 3 physical servers, all 3 running tomcat6 and the 2 web 
> applications (one for local, one for www) just fine.  Two of these have 
> apache web servers (local and www), both configured and running static 
> content by themselves just fine.
> Ideally, I want the 3 tomcat6 instances to be a lb cluster for the two 
> web servers.  For reasons I don't understand, it isn't working.  The

By cluster here we mean a farm (i.e. multiple nodes carrying the same 
apps) but not session replication?

> 'local' web server will mount the lb cluster when I only have one 
> tomcat6 instance listed in the cluster.  The 'www' web server won't 
> mount the cluster if it's 3 or 1 tomcat6 instance.  It will mount a 
> tomcat6 instance without the cluster.
> I seem to be lacking some understanding.  Can multiple web servers 
> connect to tomcat6 with mod_jk at the same time, or do I need to 
> configure additional connectors for each connection?

No, what you are trying to achieve is very normal. The below config 
tells us, that the URLs configured in JkMount are send to a load 
balancing woker lb, and although you defined three ajp13 workers, the lb 
only knows about one of them, "cartman". So lb should send all requests 
to cartman.

If you can reproduce your problem with single requests, then you can set 
your JkLogLevel to debug, restart the web server and send a single 
request. The log file will tell you, what mod_jk configured during 
startup, if it found a worker it will send the request to, and what it 
got back from the worker. I assume, that you already checked, if you 
have error messages in the JK log file?

If you add the other two members to the list of members of lb, can you 
see them in the status worker?

Just in case one of the two web servers uses an even more recent version 
of mod_jk: we made our vhost handling more strict. JkMounts now have to 
be inside the VirtualHost (if you use them) or you must use JkMountCopy 
to inherit mounts from the global server to a vhost.



> Servers are Apache2.2.3 Tomcat6.0.14 
> #
> #
> # List workers
> worker.list=lb,jkstatus
> #
> # Define cartman
> worker.cartman.port=8009
> worker.cartman.type=ajp13
> worker.cartman.socket_timeout=300
> worker.cartman.lbfactor=1
> #
> # Define stan
> worker.stan.port=8009
> worker.stan.type=ajp13
> worker.stan.socket_timeout=300
> worker.stan.lbfactor=1
> #
> # Define kyle
> worker.kyle.port=8009
> worker.kyle.type=ajp13
> worker.kyle.socket_timeout=300
> worker.kyle.lbfactor=1
> #
> #
> # Define lb
> #
> # Define a 'jkstatus' worker using status
> worker.jkstatus.type=status
> Apache config file mounts the local applications like:
>    JkMount /localapp lb
>    JkMount /localapp/* lb
> Apache config file mounts the www applications like:
>    JkMount /wwwapp lb
>    JkMount /wwwapp/* lb

To start a new topic, e-mail:
To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message