Strange!

mcastClusterDomain is set a McastService constructor....

   public McastService() {
        properties.setProperty("mcastClusterDomain", "catalina");
    }

Please don't use a real loadbalancer like apache with mod_jk instead the
crazy redirect thing at
http://www.onjava.com/pub/a/onjava/2004/04/14/clustering.html)

Which version of tomcat 5.5 you use? Please, use Tomcat 5.5.17 or better coming 5.5.20.

regards,
peter


====
I'm trying to perform a simple cluster setup with Tomcat 5.5 and been
running into some problems.

Here's the link to the tutorial that I'm trying to follow:
http://tomcat.apache.org/tomcat-5.5-doc/cluster-howto.html.

Below is an excerpt of the stack trace, I'm using the balancer application
from tomcat.

2006-09-25 22:11:43,718 (WebPortalLogger.java:44)  - 923014548 : 1
2006-09-25 22:11:43,718 (WebPortalLogger.java :44)  - Requested server
instance did not match..
2006-09-25 22:11:43,734 (WebPortalLogger.java:44) - getServerInstance () : 1 2006-09-25 22:11:43,734 (WebPortalLogger.java:44) - getMaxServerInstances()
: 3

2006-09-25 22:11:43,734 (WebPortalLogger.java:44)  - 1876138717 : 2
2006-09-25 22:11:43,734 (WebPortalLogger.java:44)  - Requested server
instance did not match..
2006-09-25 22:11:43,734 (WebPortalLogger.java:44) - getServerInstance () : 2

2006-09-25 22:11:43,734 (WebPortalLogger.java:44) - getMaxServerInstances()
: 3

2006-09-25 22:11:43,734 (WebPortalLogger.java:44)  - 747657098 : 3
2006-09-25 22:11:43,734 (WebPortalLogger.java:44)  - Requested server
instance did not match..
2006-09-25 22:11:43,734 (WebPortalLogger.java:44) - getServerInstance () : 3 2006-09-25 22:11:43,734 (WebPortalLogger.java:44) - getMaxServerInstances()
: 3

2006-09-25 22:11:43,734 (WebPortalLogger.java:44)  - 388758323 : 3
2006-09-25 22:11:43,734 (WebPortalLogger.java:44)  - Requested server
instance match..
java.lang.IllegalArgumentException: Required property "mcastClusterDomain"
is missing.
       at org.apache.catalina.cluster.mcast.McastService.hasProperty (
McastService.java:252)
       at org.apache.catalina.cluster.mcast.McastService.setProperties(
McastService.java:140)
       at common.utilities.ServerUtil.isServerAlive(ServerUtil.java:36)
       at
org.apache.webapp.balancer.rules.BaseLoadBalancingRule.isServerAlive (
BaseLoadBalancingRule.java:89)
       at org.apache.webapp.balancer.rules.RandomRedirectRule.matches(
RandomRedirectRule.java:41)
at org.apache.webapp.balancer.RuleChain.evaluate (RuleChain.java:100)
       at org.apache.webapp.balancer.BalancerFilter.doFilter(
BalancerFilter.java:118)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:202)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter (
ApplicationFilterChain.java:173)
       at org.apache.catalina.core.StandardWrapperValve.invoke(
StandardWrapperValve.java:213)
       at org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java :178)
       at org.apache.catalina.core.StandardHostValve.invoke(
StandardHostValve.java:126)
at org.apache.catalina.cluster.session.JvmRouteBinderValve.invoke(
JvmRouteBinderValve.java:208)
       at org.apache.catalina.cluster.tcp.ReplicationValve.invoke (
ReplicationValve.java:346)
       at org.apache.catalina.valves.ErrorReportValve.invoke(
ErrorReportValve.java:105)
       at org.apache.catalina.core.StandardEngineValve.invoke(
StandardEngineValve.java:107)
       at org.apache.catalina.connector.CoyoteAdapter.service(
CoyoteAdapter.java:148)
       at org.apache.coyote.http11.Http11Processor.process(
Http11Processor.java:869)
       at
org.apache.coyote.http11.Http11BaseProtocol $Http11ConnectionHandler.processConnection(
Http11BaseProtocol.java:664)
       at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
PoolTcpEndpoint.java:527)
       at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(
LeaderFollowerWorkerThread.java :80)
at org.apache.tomcat.util.threads.ThreadPool $ControlRunnable.run(
ThreadPool.java:684)
       at java.lang.Thread.run(Thread.java:595)
2006-09-25 22:11:43,734 (WebPortalLogger.java:44)  - Time taken to check
connection: 0 ms.
**  THE SERVER IS NOT AVAILABLE  **
2006-09-25 22:11:43,734 (WebPortalLogger.java:44) - RandomRedirectRule --
isAlive : false


Below is my server.xml configuration for Tomcat 5.5: (only the
receiver.tcpListenPort was modified for the other instances.)

  <Server                 port="8011"
                      shutdown="SHUTDOWN" >
   <GlobalNamingResources>
   <Resource              name="UserDatabase" auth="Container"



                          type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
                       factory="
org.apache.catalina.users.MemoryUserDatabaseFactory

"
                       pathname="conf/tomcat-users.xml" />
 </GlobalNamingResources>
   <Service              name="Catalina">

       <Connector        port="9012"


                     protocol="AJP/1.3"
       <Connector         port="9013"
                    maxThreads="100"

               minSpareThreads="4"
               maxSpareThreads="4"


       />
       <Engine            name="Catalina"
                  defaultHost="localhost"

                       jvmRoute="node1">
       <Realm        className="

org.apache.catalina.realm.UserDatabaseRealm"
                  resourceName="UserDatabase" />

           <Host          name="localhost"
                       appBase="webapps">


            <Cluster
className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"/>

           </Host>
       </Engine>
   </Service>
</Server>


I used a different tutorial (
http://www.onjava.com/pub/a/onjava/2004/04/14/clustering.html) for Tomcat
5.0 and didn't get any problems.

Thank you in advance.

Cheers,
Paul


--
Wheresoever you go, go with all your heart.
--Confucius

Reply via email to