Re: Apache2 / Tomcat5 / mod_jk - Problem with load balancer

2007-10-04 Thread Rainer Jung

In addition to Felix Schumachers correct comments:

Nuno Branco wrote:

very successfull. The HOWTOs I found in the net must be outdated since I'm
not really acomplishing anything usefull, also because apache is complaining
about some options (as I will post below) that the HOWTO told me to put in
the worker.properties file indicating that these options are deprectated.


Have a look at http://tomcat.apache.org/connectors-doc/


So here is my setup:
Apache 2.2.6
Tomcat 5.5.26
mod_jk 1.2.25 (was the name of the .tgz I downloaded)


fine.


My workers.properties looks like this:

workers.tomcat_home=/usr/local/tomcat/
workers.java_home=/usr/local/sdk/jdk

ps=/


Remove the above. They are useless.


worker.list=worker1, worker2


As already reported, replace value with "loadbalancer"


worker.worker1.port=20009
worker.worker1.host=rh01
worker.worker1.type=ajp13
worker.worker1.lbfactor=1

worker.worker2.port=8009
worker.worker2.host=rh02
worker.worker2.type=ajp13
worker.worker2.lbfactor=1

worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=worker1, worker2


OK until here


worker.inprocess.type=jni
worker.inprocess.class_path=$(workers.tomcat_home
)$(ps)lib$(ps)tomcat.jar
worker.inprocess.cmd_line=start
worker.inprocess.jvm_lib=$(workers.java_home
)$(ps)jre$(ps)lib$(ps)i386$(ps)classic$(ps)libjvm.so
worker.inprocess.stdout=$(workers.tomcat_home
)$(ps)logs$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home
)$(ps)logs$(ps)inprocess.stderr


Remove above, again useless.


I then start the tomcat servers and the apache server, this comes from the
mod_jk.log:
[Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
jk_map_validate_property::jk_map.c (412): The attribute '
worker.inprocess.class_path' is deprecated - please check the documentation
for the correct replacement.
[Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
jk_map_validate_property::jk_map.c (412): The attribute '
worker.inprocess.cmd_line' is deprecated - please check the documentation
for the correct replacement.
[Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
jk_map_validate_property::jk_map.c (412): The attribute '
worker.inprocess.jvm_lib' is deprecated - please check the documentation for
the correct replacement.
[Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
jk_map_validate_property::jk_map.c (412): The attribute '
worker.inprocess.stdout' is deprecated - please check the documentation for
the correct replacement.
[Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
jk_map_validate_property::jk_map.c (412): The attribute '
worker.inprocess.stderr' is deprecated - please check the documentation for
the correct replacement.
[Thu Oct 04 09:17:39 2007] [27191:3086042816] [info] init_jk::mod_jk.c
(2775): mod_jk/1.2.25 initialized

The server works fine and apache is giving me static content and the tomcat
standing at rh01 host is giving me dynamic content. For testing purposes I
do a shutdown to the tomcat server at rh01 and the mod_jk.log reports:
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
jk_open_socket::jk_connect.c (473): connect to 127.0.0.1:20009 failed
(errno=111)
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
ajp_connect_to_endpoint::jk_ajp_common.c (891): Failed opening socket to (
127.0.0.1:20009) (errno=111)
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
ajp_send_request::jk_ajp_common.c (1311): (worker1) error connecting to the
backend server (errno=111)
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
ajp_service::jk_ajp_common.c (2085): (worker1) sending request to tomcat
failed,  recoverable operation attempt=1
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
jk_open_socket::jk_connect.c (473): connect to 127.0.0.1:20009 failed
(errno=111)
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
ajp_connect_to_endpoint::jk_ajp_common.c (891): Failed opening socket to (
127.0.0.1:20009) (errno=111)
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
ajp_send_request::jk_ajp_common.c (1311): (worker1) error connecting to the
backend server (errno=111)
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
ajp_service::jk_ajp_common.c (2085): (worker1) sending request to tomcat
failed,  recoverable operation attempt=2
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [error]
ajp_service::jk_ajp_common.c (2097): (worker1) Connecting to tomcat failed.
Tomcat is probably not started or is listening on the wrong port
[Thu Oct 04 10:06:36 2007] worker1 rh01 0.002234
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [info] jk_handler::mod_jk.c
(2277): Service error=0 for worker=worker1

It seems not to even try to go to rh02, just gives up when it is unable to
reach rh01. On the browser I get a typical 503 error.

So if anyone has this setup running I would love to ear possible solutions
to work around this.


I didn't see you JkMount entries?

regards,

Rainer

--

Re: Apache2 / Tomcat5 / mod_jk - Problem with load balancer

2007-10-04 Thread Nuno Branco
Thank you.

It was in fact that simple :)

Time to go look at how to enable the session sticky properties. Thanks
again.

On 10/4/07, Felix Schumacher <[EMAIL PROTECTED]> wrote:
>
> Hi Nuno,
>
> I would think you have configured mod_jk to use worker1 as the only worker
> in apache. You should use the loadbalancer worker in mod_jk.conf like
>
> JkMount /myapp/* loadbalancer
>
> and change your worker.properties to inlude the loadbalancer worker in the
> worker.list property like
>
> worker.list=loadbalancer,worker1,worker2
>
> And I believe that you can remove worker1 and worker2 from that list if
> your are not accessing them directly from any JkMount directive.
>
> HTH
> Felix
> Am Do, 4.10.2007, 12:03, schrieb Nuno Branco:
> > Hello list,
> >
> > This is my first post so treat me gently :)
> >
> > I'm trying to configure Apache + Tomcat with load balancing capabilities
> > and
> > I'm planning to use mod_jk to accomplish this, unfortunately I have not
> > been
> > very successfull. The HOWTOs I found in the net must be outdated since
> I'm
> > not really acomplishing anything usefull, also because apache is
> > complaining
> > about some options (as I will post below) that the HOWTO told me to put
> in
> > the worker.properties file indicating that these options are
> deprectated.
> >
> > So here is my setup:
> > Apache 2.2.6
> > Tomcat 5.5.26
> > mod_jk 1.2.25 (was the name of the .tgz I downloaded)
> >
> > My workers.properties looks like this:
> >
> > workers.tomcat_home=/usr/local/tomcat/
> > workers.java_home=/usr/local/sdk/jdk
> >
> > ps=/
> >
> > worker.list=worker1, worker2
> >
> > worker.worker1.port=20009
> > worker.worker1.host=rh01
> > worker.worker1.type=ajp13
> > worker.worker1.lbfactor=1
> >
> > worker.worker2.port=8009
> > worker.worker2.host=rh02
> > worker.worker2.type=ajp13
> > worker.worker2.lbfactor=1
> >
> > worker.loadbalancer.type=lb
> > worker.loadbalancer.balance_workers=worker1, worker2
> >
> > worker.inprocess.type=jni
> > worker.inprocess.class_path=$(workers.tomcat_home
> > )$(ps)lib$(ps)tomcat.jar
> > worker.inprocess.cmd_line=start
> > worker.inprocess.jvm_lib=$(workers.java_home
> > )$(ps)jre$(ps)lib$(ps)i386$(ps)classic$(ps)libjvm.so
> > worker.inprocess.stdout=$(workers.tomcat_home
> > )$(ps)logs$(ps)inprocess.stdout
> > worker.inprocess.stderr=$(workers.tomcat_home
> > )$(ps)logs$(ps)inprocess.stderr
> >
> > I then start the tomcat servers and the apache server, this comes from
> the
> > mod_jk.log:
> > [Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
> > jk_map_validate_property::jk_map.c (412): The attribute '
> > worker.inprocess.class_path' is deprecated - please check the
> > documentation
> > for the correct replacement.
> > [Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
> > jk_map_validate_property::jk_map.c (412): The attribute '
> > worker.inprocess.cmd_line' is deprecated - please check the
> documentation
> > for the correct replacement.
> > [Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
> > jk_map_validate_property::jk_map.c (412): The attribute '
> > worker.inprocess.jvm_lib' is deprecated - please check the documentation
> > for
> > the correct replacement.
> > [Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
> > jk_map_validate_property::jk_map.c (412): The attribute '
> > worker.inprocess.stdout' is deprecated - please check the documentation
> > for
> > the correct replacement.
> > [Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
> > jk_map_validate_property::jk_map.c (412): The attribute '
> > worker.inprocess.stderr' is deprecated - please check the documentation
> > for
> > the correct replacement.
> > [Thu Oct 04 09:17:39 2007] [27191:3086042816] [info] init_jk::mod_jk.c
> > (2775): mod_jk/1.2.25 initialized
> >
> > The server works fine and apache is giving me static content and the
> > tomcat
> > standing at rh01 host is giving me dynamic content. For testing purposes
> I
> > do a shutdown to the tomcat server at rh01 and the mod_jk.log reports:
> > [Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
> > jk_open_socket::jk_connect.c (473): connect to 127.0.0.1:20009 failed
> > (errno=111)
> > [Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
> > ajp_connect_to_endpoint::jk_ajp_common.c (891): Failed opening socket to
> (
> > 127.0.0.1:20009) (errno=111)
> > [Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
> > ajp_send_request::jk_ajp_common.c (1311): (worker1) error connecting to
> > the
> > backend server (errno=111)
> > [Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
> > ajp_service::jk_ajp_common.c (2085): (worker1) sending request to tomcat
> > failed,  recoverable operation attempt=1
> > [Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
> > jk_open_socket::jk_connect.c (473): connect to 127.0.0.1:20009 failed
> > (errno=111)
> > [Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
> > ajp_connect_to_endpoint::jk_ajp_common.

Re: Apache2 / Tomcat5 / mod_jk - Problem with load balancer

2007-10-04 Thread Felix Schumacher
Hi Nuno,

I would think you have configured mod_jk to use worker1 as the only worker
in apache. You should use the loadbalancer worker in mod_jk.conf like

JkMount /myapp/* loadbalancer

and change your worker.properties to inlude the loadbalancer worker in the
worker.list property like

worker.list=loadbalancer,worker1,worker2

And I believe that you can remove worker1 and worker2 from that list if
your are not accessing them directly from any JkMount directive.

HTH
 Felix
Am Do, 4.10.2007, 12:03, schrieb Nuno Branco:
> Hello list,
>
> This is my first post so treat me gently :)
>
> I'm trying to configure Apache + Tomcat with load balancing capabilities
> and
> I'm planning to use mod_jk to accomplish this, unfortunately I have not
> been
> very successfull. The HOWTOs I found in the net must be outdated since I'm
> not really acomplishing anything usefull, also because apache is
> complaining
> about some options (as I will post below) that the HOWTO told me to put in
> the worker.properties file indicating that these options are deprectated.
>
> So here is my setup:
> Apache 2.2.6
> Tomcat 5.5.26
> mod_jk 1.2.25 (was the name of the .tgz I downloaded)
>
> My workers.properties looks like this:
>
> workers.tomcat_home=/usr/local/tomcat/
> workers.java_home=/usr/local/sdk/jdk
>
> ps=/
>
> worker.list=worker1, worker2
>
> worker.worker1.port=20009
> worker.worker1.host=rh01
> worker.worker1.type=ajp13
> worker.worker1.lbfactor=1
>
> worker.worker2.port=8009
> worker.worker2.host=rh02
> worker.worker2.type=ajp13
> worker.worker2.lbfactor=1
>
> worker.loadbalancer.type=lb
> worker.loadbalancer.balance_workers=worker1, worker2
>
> worker.inprocess.type=jni
> worker.inprocess.class_path=$(workers.tomcat_home
> )$(ps)lib$(ps)tomcat.jar
> worker.inprocess.cmd_line=start
> worker.inprocess.jvm_lib=$(workers.java_home
> )$(ps)jre$(ps)lib$(ps)i386$(ps)classic$(ps)libjvm.so
> worker.inprocess.stdout=$(workers.tomcat_home
> )$(ps)logs$(ps)inprocess.stdout
> worker.inprocess.stderr=$(workers.tomcat_home
> )$(ps)logs$(ps)inprocess.stderr
>
> I then start the tomcat servers and the apache server, this comes from the
> mod_jk.log:
> [Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
> jk_map_validate_property::jk_map.c (412): The attribute '
> worker.inprocess.class_path' is deprecated - please check the
> documentation
> for the correct replacement.
> [Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
> jk_map_validate_property::jk_map.c (412): The attribute '
> worker.inprocess.cmd_line' is deprecated - please check the documentation
> for the correct replacement.
> [Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
> jk_map_validate_property::jk_map.c (412): The attribute '
> worker.inprocess.jvm_lib' is deprecated - please check the documentation
> for
> the correct replacement.
> [Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
> jk_map_validate_property::jk_map.c (412): The attribute '
> worker.inprocess.stdout' is deprecated - please check the documentation
> for
> the correct replacement.
> [Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
> jk_map_validate_property::jk_map.c (412): The attribute '
> worker.inprocess.stderr' is deprecated - please check the documentation
> for
> the correct replacement.
> [Thu Oct 04 09:17:39 2007] [27191:3086042816] [info] init_jk::mod_jk.c
> (2775): mod_jk/1.2.25 initialized
>
> The server works fine and apache is giving me static content and the
> tomcat
> standing at rh01 host is giving me dynamic content. For testing purposes I
> do a shutdown to the tomcat server at rh01 and the mod_jk.log reports:
> [Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
> jk_open_socket::jk_connect.c (473): connect to 127.0.0.1:20009 failed
> (errno=111)
> [Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
> ajp_connect_to_endpoint::jk_ajp_common.c (891): Failed opening socket to (
> 127.0.0.1:20009) (errno=111)
> [Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
> ajp_send_request::jk_ajp_common.c (1311): (worker1) error connecting to
> the
> backend server (errno=111)
> [Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
> ajp_service::jk_ajp_common.c (2085): (worker1) sending request to tomcat
> failed,  recoverable operation attempt=1
> [Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
> jk_open_socket::jk_connect.c (473): connect to 127.0.0.1:20009 failed
> (errno=111)
> [Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
> ajp_connect_to_endpoint::jk_ajp_common.c (891): Failed opening socket to (
> 127.0.0.1:20009) (errno=111)
> [Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
> ajp_send_request::jk_ajp_common.c (1311): (worker1) error connecting to
> the
> backend server (errno=111)
> [Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
> ajp_service::jk_ajp_common.c (2085): (worker1) sending request to tomcat
> failed,  recoverable operation attempt=2
> [Thu Oct 04 10:06:36 20

Apache2 / Tomcat5 / mod_jk - Problem with load balancer

2007-10-04 Thread Nuno Branco
Hello list,

This is my first post so treat me gently :)

I'm trying to configure Apache + Tomcat with load balancing capabilities and
I'm planning to use mod_jk to accomplish this, unfortunately I have not been
very successfull. The HOWTOs I found in the net must be outdated since I'm
not really acomplishing anything usefull, also because apache is complaining
about some options (as I will post below) that the HOWTO told me to put in
the worker.properties file indicating that these options are deprectated.

So here is my setup:
Apache 2.2.6
Tomcat 5.5.26
mod_jk 1.2.25 (was the name of the .tgz I downloaded)

My workers.properties looks like this:

workers.tomcat_home=/usr/local/tomcat/
workers.java_home=/usr/local/sdk/jdk

ps=/

worker.list=worker1, worker2

worker.worker1.port=20009
worker.worker1.host=rh01
worker.worker1.type=ajp13
worker.worker1.lbfactor=1

worker.worker2.port=8009
worker.worker2.host=rh02
worker.worker2.type=ajp13
worker.worker2.lbfactor=1

worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=worker1, worker2

worker.inprocess.type=jni
worker.inprocess.class_path=$(workers.tomcat_home
)$(ps)lib$(ps)tomcat.jar
worker.inprocess.cmd_line=start
worker.inprocess.jvm_lib=$(workers.java_home
)$(ps)jre$(ps)lib$(ps)i386$(ps)classic$(ps)libjvm.so
worker.inprocess.stdout=$(workers.tomcat_home
)$(ps)logs$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home
)$(ps)logs$(ps)inprocess.stderr

I then start the tomcat servers and the apache server, this comes from the
mod_jk.log:
[Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
jk_map_validate_property::jk_map.c (412): The attribute '
worker.inprocess.class_path' is deprecated - please check the documentation
for the correct replacement.
[Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
jk_map_validate_property::jk_map.c (412): The attribute '
worker.inprocess.cmd_line' is deprecated - please check the documentation
for the correct replacement.
[Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
jk_map_validate_property::jk_map.c (412): The attribute '
worker.inprocess.jvm_lib' is deprecated - please check the documentation for
the correct replacement.
[Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
jk_map_validate_property::jk_map.c (412): The attribute '
worker.inprocess.stdout' is deprecated - please check the documentation for
the correct replacement.
[Thu Oct 04 09:17:39 2007] [27191:3086042816] [warn]
jk_map_validate_property::jk_map.c (412): The attribute '
worker.inprocess.stderr' is deprecated - please check the documentation for
the correct replacement.
[Thu Oct 04 09:17:39 2007] [27191:3086042816] [info] init_jk::mod_jk.c
(2775): mod_jk/1.2.25 initialized

The server works fine and apache is giving me static content and the tomcat
standing at rh01 host is giving me dynamic content. For testing purposes I
do a shutdown to the tomcat server at rh01 and the mod_jk.log reports:
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
jk_open_socket::jk_connect.c (473): connect to 127.0.0.1:20009 failed
(errno=111)
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
ajp_connect_to_endpoint::jk_ajp_common.c (891): Failed opening socket to (
127.0.0.1:20009) (errno=111)
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
ajp_send_request::jk_ajp_common.c (1311): (worker1) error connecting to the
backend server (errno=111)
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
ajp_service::jk_ajp_common.c (2085): (worker1) sending request to tomcat
failed,  recoverable operation attempt=1
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
jk_open_socket::jk_connect.c (473): connect to 127.0.0.1:20009 failed
(errno=111)
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
ajp_connect_to_endpoint::jk_ajp_common.c (891): Failed opening socket to (
127.0.0.1:20009) (errno=111)
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
ajp_send_request::jk_ajp_common.c (1311): (worker1) error connecting to the
backend server (errno=111)
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [info]
ajp_service::jk_ajp_common.c (2085): (worker1) sending request to tomcat
failed,  recoverable operation attempt=2
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [error]
ajp_service::jk_ajp_common.c (2097): (worker1) Connecting to tomcat failed.
Tomcat is probably not started or is listening on the wrong port
[Thu Oct 04 10:06:36 2007] worker1 rh01 0.002234
[Thu Oct 04 10:06:36 2007] [27308:3086042816] [info] jk_handler::mod_jk.c
(2277): Service error=0 for worker=worker1

It seems not to even try to go to rh02, just gives up when it is unable to
reach rh01. On the browser I get a typical 503 error.

So if anyone has this setup running I would love to ear possible solutions
to work around this.

Thank you,
Nuno