Re: Apache + 2 tomcat appserver failover configuration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks for the reply.

On Fri, Aug 31, 2012 at 12:10 AM, Igor Cicimov <icicimov@xxxxxxxxx> wrote:
> On Fri, Aug 31, 2012 at 11:13 AM, Ed Young <ejy@xxxxxxxxxxxxx> wrote:
>>
>> I've set up a load balancing configuration based on an Apache server
>> and two tomcats Tomcat6A, and Tomcat6B. I'm trying to set it up so
>> that Tomcat6B is a failover server, so if Tomcat6A goes down, Tomcat6B
>> will handle all subsequent requests.
>>
>
> This is a hot standby scenario. IMHO the best is to use mod_jk instead.
>
> Example of mod_jk config for your workers.properties file:
>
> <IfModule jk_module>
>    JkWorkersFile   conf/workers.properties
>    JkLogFile "|/usr/local/apache2/bin/rotatelogs
> /usr/local/apache2/logs/mod_jk.log.%Y%m%d 86400"
>    JkLogLevel Debug
>    JKShmSize 256
>    JkShmFile logs/jk.shm
>    JkMount /* balance1
>    JkMount /jkmanager/* jkstatus
> </IfModule>
>
> but from your post I'm not sure if you have mod_jk installed and configured
> at all.

No, mod_jk not installed and this Linux installation has a number of
factors that keep me from building and installing mod_jk
No apxs
No APR
Misconfigured corporate rpm repository which keeps me from installing
httpd-devel and thereby pursuing mod_jk. Hopefully this will be
corrected soon.

My understanding is that mod_proxy replaces mod_jk, but i haven't had
any success getting mod_proxy to work in a failover scenario, so I may
be stuck for now.

>
> What you want to achive means that when the balancer worker on Tomcat6A is
> in error state, the balancer will redirect the sessions to Tomcat6B. This
> also means though that that user session should exist on Tomcat6B too which
> on other hand means you need to have some kind of session replication
> between tomcat servers. I haven't seen your full tomcat config but hope you
> have cluster set up or the fail over will not work.
>

I have a cluster set up, but no session replication. My requirement is
that if Tomcat6A goes down, we will lose any sessions, but all new
sessions will failover to Tomcat6B

The <Proxy balancer://cluster> descriptor below defines my cluster settup, no?

>>
>> I have two questions:
>> 1. Does mod_proxy use the workers.properties file? It doesn't seem to
>> make any difference what is in workers.properties.
>> 2. How can I set this system up for a failover configuration?
>>
>> This is killing me. I'm using mod_proxy, mod_proxy_balancer, mod_ajp.
>>
>> In the load balancer howto, it specifies the configuration I want by
>> using the workers.properties file, but that file seems to have no
>> effect on the system behavior. I wonder if it was written before
>> mod_proxy became a replacement for mod_jk.
>> _http://tomcat.apache.org/connectors-doc/generic_howto/loadbalancers.html
>>
>> No matter what I do, if I shut down Tomcat6A, there is no failover
>> behavior. Existing Tomcat6A request fail (expected) and new requests
>> fail with 404. Only the existing Tomcat6B request continue.
>>
>> Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/"
>> env=BALANCER_ROUTE_CHANGED
>> <Proxy balancer://cluster>
>>         BalancerMember ajp://chimps-lb-01.cable.bogus.com:8009
>> route=Tomcat6A
>>         BalancerMember ajp://chimps-lb-02.cable.bogus.com:8009
>> route=Tomcat6B
>>         ProxySet stickysession=ROUTEID
>> </Proxy>
>>
>> ProxyPass / balancer://cluster/
>> ProxyPassReverse / balancer://cluster/
>>
>
> For mod_proxy_balancer (if you insist), I would put something like this:
>
>
> <Proxy balancer://cluster>
>         BalancerMember ajp://chimps-lb-01.cable.bogus.com:8009
> route=Tomcat6A
>         BalancerMember ajp://chimps-lb-02.cable.bogus.com:8009
> route=Tomcat6B status=+H
>         ProxySet stickysession=ROUTEID nofailover=Off lbmethod=bytraffic
> </Proxy>
>
> This puts Tomcat6B worker in hot backup state and the whole traffic is
> redirected to Tomcat6A. Per my understanding, the above configuration means
> that when the balancer worker on Tomcat6A is in error state, the balancer
> will redirect the session to Tomcat6B which is marked as hot backup . The
> tomcat session replication remark is valid in this scenario too.
>

I tried this (thanks) and I'm afraid that it does not work. When
Tomcat6A goes down, it does not route new traffic to Tomcat6B

I wonder if there is anyone who has successfully configured a cluster
failover using mod_proxy?

>
>> The configuration above alternates between each tomcat as request come
>> in, which is not what I want.
>>
>> I created a workers.properties file in /etc/httpd/conf/, based on the
>> loadBalance Howto, but it does not seem to have any effect on the
>> system. Does mod_proxy use it?
>>
>> worker.list=balance1
>>
>> # The load balancer worker balance1 will distribute
>> # load to the members Tomcat6A, Tomcat6B
>> worker.balance1.type=lb
>> worker.balance1.balance_workers=Tomcat6A, Tomcat6B
>>
>> worker.Tomcat6A.type = ajp13
>> worker.Tomcat6A.host = chimps-lb-01.cable.bogus.com
>> worker.Tomcat6A.port = 8009
>> worker.Tomcat6A.redirect=Tomcat6B
>> #worker.Tomcat6A.lbfactor = 10
>>
>> worker.Tomcat6B.type = ajp13
>> worker.Tomcat6B.host = chimps-lb-02.cable.bogus.com
>> worker.Tomcat6B.port = 8009
>> worker.Tomcat6B.activation=disabled
>>
>> Each tomcat server.xml has
>>  <Engine name="Standalone" defaultHost="localhost" jvmRoute="Tomcat6A">
>> or
>>  <Engine name="Standalone" defaultHost="localhost" jvmRoute="Tomcat6B">
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
>> For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx
>>
>
>
>
>
>



-- 
- Ed

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx



[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux