geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Krishnakumar B" <www....@gmail.com>
Subject Re: Geronimo clustering
Date Tue, 18 Jul 2006 13:30:49 GMT
hi all,

I was able to solve this issue. For benefit of others who r trying it
out and are stuck

* Ensure machines in cluster are in same subnet
* If u r clustering on Linux u dont need to set mcastBindAddress if u
don't have a multihomed network.
* Also check firewall running on Linux.

Thanks Dave for ur help

Regards
Krish

On 7/13/06, Dave Colasurdo <davecola@earthlink.net> wrote:
> Krish,
>
>  Very strange.. Is it always the last value that you store in the
> session that is available after failover?  In other words, when both
> sessions are started, and you are stuck to server1.. If you add five
> different name value pairs to the session (prop1=a, prop2=b, prop3=c,
> prop4=d, prop5=e)..  Now stop server1 .. and Add prop6=f to the session
> ..Does only prop5 and prop6 show up on server2?
>
> Are you seeing data in the session other than prop6?
>
> Seems that there are are several possibilities as to where the problem
> could happen:
> 1) Session data isn't being properly replicated between the nodes
> (believe this is independent of any mod-jk configuration)
> 2) Failed over request is not finding the original session..
> 3) Failed over request finds the session but not all of the session data
>
>
> I do see a few minor differences in our configs
>
> e.g.
> worker.loadbalancer.balanced_workers -vs-
> worker.loadbalancer.balance_workers
>
> I don't use the following properties:
> worker.loadbalancer.sticky_session_force (hmm, may want to remove this
> and see if it has any affect)
> worker.maintain ,socket_timeout, socket_keepalive
>
> Will send you my full configuration.
>
> -Dave-
>
> Krishnakumar B wrote:
> > Hi Dave,
> >
> > Thanks for ur note. I am able to get this to work but still face one
> > issue.I put three values in session in server1. I shutdown server1.
> > When i refresh the browser i get the page from server2 but it has only
> > the last value.  I am using the tomcat cluster example [
> > servlets-examples-cluster ]
> >
> > I dont get the No engine jvmRoute attribute configured WARN messages.
> >
> > I have updated the config.xml.
> >    <gbean name="TomcatEngine">
> >      <attribute name="initParams">name=Geronimo
> >     jvmRoute=node2</attribute>
> >    </gbean>
> > and
> >    <gbean name="TomcatEngine">
> >      <attribute name="initParams">name=Geronimo
> >     jvmRoute=node1</attribute>
> >    </gbean>
> >
> >
> > I have put IPs in plan.
> > I get the same messages as u have listed in the mail
> >
> > My workers.properties
> >
> > worker.list=loadbalancer,status
> > worker.maintain=60
> >
> > worker.node1.type=ajp13
> > worker.node1.host=yy.yy.yy.yy
> > worker.node1.port=8009
> > worker.node1.socket_timeout=60
> > worker.node1.socket_keepalive=true
> > worker.node1.lbfactor=1
> >
> > worker.node2.type=ajp13
> > worker.node2.host=xx.xx.xx.xx
> > worker.node2.port=8009
> > worker.node2.socket_timeout=60
> > worker.node2.socket_keepalive=true
> > worker.node2.lbfactor=1
> >
> > worker.loadbalancer.type=lb
> > worker.loadbalancer.balanced_workers=node1,node2
> > worker.loadbalancer.sticky_session=1
> > worker.loadbalancer.sticky_session_force=0
> > worker.status.type=status
> >
> > and
> >
> > httpd.conf ( Added these lines at end of existing httpd.conf )
> >
> > LoadModule jk_module modules/mod_jk.so
> >
> > #
> > # The following can be added anywhere after the above LoadModule statement.
> > #
> > <IfModule mod_jk.c>
> >    JkWorkersFile       conf/workers.properties
> >    JkLogFile           logs/mod_jk.log
> >    JkLogLevel          info
> >    JkLogStampFormat    "[%a %b %d %H:%M:%S %Y] "
> >    JkOptions           +ForwardKeySize +ForwardURICompat
> > -ForwardDirectories
> >    JkRequestLogFormat  "%w %V %T"
> >
> >    <Location /*/WEB-INF/*>
> >        AllowOverride None
> >        deny from all
> >    </Location>
> >
> >    <Location /*/META-INF/*>
> >        AllowOverride None
> >        deny from all
> >    </Location>
> >
> >    # forward ALL web requests to our mod_jk loadbalancer workers
> >    JkMount /* loadbalancer
> >
> > </IfModule>
> >
> > Thanks for ur help.
> >
> > Regards
> > Krish
> >
> >
> > n 7/13/06, Dave Colasurdo <davecola@earthlink.net> wrote:
> >> Ahh, just remembered one other issue I encountered, extra whitespace
> >> after the IP addresses in config.xml seemed to mess things up. You
> >> should also make sure that is ok in your copy..
> >>
> >> -Dave-
> >>
> >> Dave Colasurdo wrote:
> >> > Also, if you are using your own application .. Do you have the webapp
> >> > marked as distributable in web.xml?
> >> >
> >> > -Dave-
> >> >
> >> > Dave Colasurdo wrote:
> >> >> Krish,
> >> >>
> >> >>   I downloaded fresh copies of G1.1 and tried clustering again.  I
did
> >> >> not see the behavior you are describing. Failover of session data
> >> >> worked as expected.  I suspect the "No engine jvmRoute attribute
> >> >> configured" error in your run is significant.  Perhaps this is somehow
> >> >> misconfigured... Did you stop the server before updating config.xml?
> >> >> Are the IP addresses correct in the each deployment plan and agree
> >> >> with the settings in the webserver configuration?
> >> >>
> >> >> Are you hitting the webserver port 80 and not 8080 ..
> >> >> http://YourHost/servlets-examples-cluster
> >> >>
> >> >> Please attach your config.xml files and deployment plans and webserver
> >> >> config.
> >> >>
> >> >> BTW, Here are the logs from my run:
> >> >>
> >> >> Replaced node1 IP address with xx.xx.xx.xx in logs below
> >> >> Replaced node2 IP address with yy.yy.yy.yy in logs below
> >> >>
> >> >>
> >> >> *1)* Starting the first node (node 98 - aka server1)
> >> >>
> >> >> [snip]
> >> >> [*********************> ] 93%  13s Starting
> >> >> geronimo/servlets-examp...14:18:34,5
> >> >> 46 INFO  [SimpleTcpCluster] Cluster is about to start
> >> >> 14:18:34,562 INFO  [SimpleTcpCluster] Add Default ClusterListener at
> >> >> cluster /servlets-examples-cluster
> >> >> 14:18:34,578 INFO  [ReplicationTransmitter] Start ClusterSender at
> >> >> cluster geronimo:type=Cluster with name geronimo:type=ClusterSender
> >> >> 14:18:34,593 INFO  [McastService] Setting multihome multicast
> >> >> interface to:/xx.xx.xx.xx
> >> >> 14:18:34,593 INFO  [McastService] Sleeping for 2000 secs to establish
> >> >> cluster membership
> >> >> [*********************> ] 93%  15s Starting
> >> >> geronimo/servlets-examp...14:18:36,609 INFO  [McastService] membership
> >> >> mbean registered (geronimo:type=ClusterMembership)
> >> >> 14:18:36,609 INFO  [JvmRouteBinderValve] JvmRouteBinderValve started
> >> >> [*********************> ] 93%  16s Starting
> >> >> geronimo/servlets-examp...14:18:36,984 INFO  [DeltaManager] Register
> >> >> manager /servlets-examples-cluster to cluster element unknown with
> >> >> name /servlets-examples-cluster
> >> >> 14:18:36,984 INFO  [DeltaManager] Starting clustering manager at
> >> >> /servlets-examples-cluster
> >> >> 14:18:36,984 INFO  [DeltaManager] Manager
> >> >> [/servlets-examples-cluster]: skipping state transfer. No members
> >> >> active in cluster group.
> >> >> [***********************] 100%  16s Startup complete
> >> >>
> >> >> [snip]
> >> >>
> >> >> *2)* Starting the second node (node 99 - aka server 2)
> >> >>
> >> >> [snip]
> >> >> Starting Geronimo Application Server v1.1
> >> >> [*********************> ] 93%  22s Starting
> >> >> geronimo/servlets-examp...14:19:27,220 INFO  [SimpleTcpCluster]
> >> >> Cluster is about to start
> >> >> 14:19:27,236 INFO  [SimpleTcpCluster] Add Default ClusterListener at
> >> >> cluster /servlets-examples-cluster
> >> >> 14:19:27,267 INFO  [ReplicationTransmitter] Start ClusterSender at
> >> >> cluster geronimo:type=Cluster with name geronimo:type=ClusterSender
> >> >> 14:19:27,283 INFO  [McastService] Setting multihome multicast
> >> >> interface to:/yy.yy.yy.yy
> >> >> 14:19:27,298 INFO  [McastService] Sleeping for 2000 secs to establish
> >> >> cluster membership
> >> >> [*********************> ] 93%  23s Starting
> >> >> geronimo/servlets-examp...14:19:27,454 INFO  [SimpleTcpCluster]
> >> >> Replication member
> >> >>
> >> added:org.apache.catalina.cluster.mcast.McastMember[tcp://xx.xx.xx.xx:4001,catalina,xx.xx.xx.xx,4001,
> >>
> >> >> alive=50500]
> >> >> [*********************> ] 93%  24s Starting
> >> >> geronimo/servlets-examp...14:19:29,2
> >> >> 98 INFO  [McastService] membership mbean registered
> >> >> (geronimo:type=ClusterMembership)
> >> >> 14:19:29,314 INFO  [JvmRouteBinderValve] JvmRouteBinderValve started
> >> >> 14:19:29,423 INFO  [DeltaManager] Register manager
> >> >> /servlets-examples-cluster to cluster element unknown with name
> >> >> /servlets-examples-cluster
> >> >> 14:19:29,423 INFO  [DeltaManager] Starting clustering manager at
> >> >> /servlets-examples-cluster
> >> >> [*********************> ] 93%  25s Starting
> >> >> geronimo/servlets-examp...14:19:29,454 WARN  [DeltaManager] Manager
> >> >> [/servlets-examples-cluster], requesting session state from
> >> >>
> >> org.apache.catalina.cluster.mcast.McastMember[tcp://xx.xx.xx.xx:4001,catalina,xx.xx.xx.xx,4001,
> >>
> >> >> alive=52000]. This operation will timeout if no session state has been
> >> >> received within 60 seconds.
> >> >> [*********************> ] 93%  25s Starting
> >> >> geronimo/servlets-examp...14:19:30,001 INFO  [DeltaManager] Manager
> >> >> [/servlets-examples-cluster]; session state send
> >> >>  at 7/12/06 2:19 PM received in 578 ms.
> >> >> [***********************] 100%  25s Startup complete
> >> >> [snip]
> >> >>
> >> >>
> >> >> *3)* Added to Node1 console log when node2 is started
> >> >>
> >> >> 14:19:28,953 INFO  [SimpleTcpCluster] Replication member
> >> >>
> >> added:org.apache.catalina.cluster.mcast.McastMember[tcp://yy.yy.yy.yy:4001,catalina,yy.yy.yy.yy,4001,
> >>
> >> >> alive=0]
> >> >>
> >> >> *4)* Nothing is reflected in the console log when when adding values
> >> >> to the session via the servlet.
> >> >>
> >> >> *5)* This gets added to node2 console when node1 is stopped..
> >> >>
> >> >> 14:24:40,720 INFO  [SimpleTcpCluster] Received member
> >> >>
> >> disappeared:org.apache.caalina.cluster.mcast.McastMember[tcp://xx.xx.xx.xx:4001,catalina,xx.xx.xx.xx,4
> >>
> >> >>
> >> >> 01, alive=360688]
> >> >>
> >> >> *6)* Failover of session data works as expected..
> >> >>
> >> >>
> >> >> -Dave-
> >> >>
> >> >> Krishnakumar B wrote:
> >> >>> hi Dave,
> >> >>>
> >> >>> Thanks for ur note.
> >> >>>
> >> >>> I have done these checks. I get these messages in second cluster
> >> >>> member where failover occurs.
> >> >>>
> >> >>> 14:53:21,003 INFO  [DeltaManager] Manager
> >> >>> [/servlets-examples-cluster]: skipping state transfer. No members
> >> >>> active in cluster group.
> >> >>> 15:10:34,700 WARN  [JvmRouteBinderValve] No engine jvmRoute attribute
> >> >>> configured
> >> >>> 15:10:34,720 WARN  [JvmRouteBinderValve] No engine jvmRoute attribute
> >> >>> configured
> >> >>>
> >> >>> Does this mean something is wrong? I get one session value
> >> failover to
> >> >>> second server. All cluster members are active.
> >> >>>
> >> >>> Regards
> >> >>> Krish
> >> >>>
> >> >>> I have configured jvmRoute
> >> >>> On 7/11/06, Dave Colasurdo <davecola@earthlink.net> wrote:
> >> >>>> Krish,
> >> >>>>
> >> >>>>  A few things to check..
> >> >>>>
> >> >>>> 1) jvmRoute is unique for each node
> >> >>>> 2) The value used in jvmRoute agrees with the value set in
the
> >> mod-jk
> >> >>>> configuration (e.g. jvmRoute=node1, jvmRoute=node2,  and
> >> >>>> worker.loadbalancer.balance_workers=node1,node2,
> >> >>>> worker.node1.port=8009,
> >> >>>> etc.)
> >> >>>> 3) Deployment plan for each node has the correct IP address
for each
> >> >>>> node (in 2 spots in the xml)
> >> >>>> 4) You are using the most recent deployment *5.5.15* deployment
plan
> >> >>>> that includes JVMRouteBinderValve...  Latest plan and instructions
> >> >>>> available at: http://cwiki.apache.org/GMOxDOC11/clustering.html
> >> >>>> 5) Verify that both machines are truly on the same subnet..
 Both
> >> >>>> machines should use the same subnet mask.  The network portion
of
> >> the
> >> >>>> addresses should be identical when the subnet mask is bitwise
ANDed
> >> >>>> with
> >> >>>> each of the individual IP addresses.
> >> >>>> 6) You are using the same browser instance for the whole test.
> >> Clear
> >> >>>> the cookie cache in the browser before the test.
> >> >>>>
> >> >>>> -Dave-
> >> >>>>
> >> >>>>
> >> >>>> Krishnakumar B wrote:
> >> >>>> > hi,
> >> >>>> >
> >> >>>> > Have set the required properties in app, jvmRoute etc..
> >> >>>> >
> >> >>>> > The log shows this
> >> >>>> >
> >> >>>> > 16:46:03,810 INFO  [JvmRouteBinderValve] JvmRouteBinderValve
> >> started
> >> >>>> > 16:46:04,175 INFO  [DeltaManager] Register manager
> >> >>>> > /servlet-examples-cluster to cluster element unknown with
name
> >> >>>> > /servlet-examples-cluster
> >> >>>> > 16:46:04,176 INFO  [DeltaManager] Starting clustering
manager at
> >> >>>> > /servlet-examples-cluster
> >> >>>> > 16:46:04,176 INFO  [DeltaManager] Manager
> >> >>>> [/servlet-examples-cluster]:
> >> >>>> > skipping state transfer. No members active in cluster
group.
> >> >>>> >
> >> >>>> > Does this message mean something is not correct.
> >> >>>> > 16:46:04,176 INFO  [DeltaManager] Manager
> >> >>>> [/servlet-examples-cluster]:
> >> >>>> > skipping state transfer. No members active in cluster
group.
> >> >>>> >
> >> >>>> > I still get only 1 value replicated.
> >> >>>> >
> >> >>>> > Regards
> >> >>>> > Krish
> >> >>>> >
> >> >>>> >
> >> >>>> > On 7/10/06, Santosh Koti <Santosh_Koti@infosys.com>
wrote:
> >> >>>> >>
> >> >>>> >>
> >> >>>> >> Hi Krishna,
> >> >>>> >>
> >> >>>> >> Well , can u do this way:
> >> >>>> >>
> >> >>>> >> 1) Stop both ur servers
> >> >>>> >> 2) Start server server1
> >> >>>> >> 3) Aftter server server1 is up, start ur server 2
> >> >>>> >> 4) in ur server2 startup console, u should something
like
> >> >>>> >> deltamanager[/contextroot]...
> >> >>>> >>
> >> >>>> >> 5)Chk ur app...?
> >> >>>> >> 6) Have u set jvmroute in config.xml of server2..?
> >> >>>> >>
> >> >>>> >> PS: U shd not get smething like jvmRoute2 bind /whatever
> >> else...?!!
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >> Thanks,
> >> >>>> >> Santosh.
> >> >>>> >> "Don't talk about yourself; it will be done when you
leave. "
> >> >>>> >>
> >> >>>> >>
> >> >>>> >> -----Original Message-----
> >> >>>> >> From: Krishnakumar B [mailto:www.bkk@gmail.com]
> >> >>>> >> Sent: Monday, July 10, 2006 3:55 PM
> >> >>>> >> To: user@geronimo.apache.org
> >> >>>> >> Subject: Geronimo clustering
> >> >>>> >>
> >> >>>> >> Hi,
> >> >>>> >>
> >> >>>> >> I am trying out geronimo clustering example. I seem
to have a
> >> >>>> problem
> >> >>>> >> with Session Failover.
> >> >>>> >>
> >> >>>> >> I am using Apache HTTP server 2.0.58 and mod_jk 1.2.15
and
> >> >>>> geronimo 1.1
> >> >>>> >>
> >> >>>> >> I create two session variables in server 1 - server1-1
= 1 &
> >> >>>> server1-2 =
> >> >>>> >> 2
> >> >>>> >> I stop server1. Only server1-2 = 2 replicated in server
2.
> >> >>>> >> Now i add a new variable in server2 server2-1 = 1
> >> >>>> >> Now i start server1
> >> >>>> >> Now i stop server2
> >> >>>> >> I should have server1-1=1, server1-2=2 and server2-1=1
in server1
> >> >>>> >> Instead i have only server2-1=1 in server1
> >> >>>> >>
> >> >>>> >> I am not sure if i am doing something wrong. I have
set
> >> jvmRoute in
> >> >>>> >> config.xml, given correct IP address in cluster application
> >> plan and
> >> >>>> >> setup workers.properties.
> >> >>>> >>
> >> >>>> >> I get these messages in server2
> >> >>>> >> 15:38:37,452 WARN  [JvmRouteBinderValve] No engine
jvmRoute
> >> >>>> attribute
> >> >>>> >> configured!
> >> >>>> >> and
> >> >>>> >> 15:30:57,791 INFO  [DeltaManager] Manager
> >> >>>> >> [/servlets-examples-cluster]: skipping state transfer.
No members
> >> >>>> >> active in cluster group.
> >> >>>> >> though both members of cluster are up and i am able
to ping both
> >> >>>> >> machines. there are in same subnet.
> >> >>>> >>
> >> >>>> >> Thanks for any pointers...
> >> >>>> >>
> >> >>>> >> Regards
> >> >>>> >> Krish
> >> >>>> >>
> >> >>>> >> **************** CAUTION - Disclaimer *****************
> >> >>>> >> This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION
> >> >>>> intended
> >> >>>> >> solely for the use of the addressee(s). If you are
not the
> >> intended
> >> >>>> >> recipient, please notify the sender by e-mail and
delete the
> >> >>>> original
> >> >>>> >> message. Further, you are not to copy, disclose, or
distribute
> >> this
> >> >>>> >> e-mail or its contents to any other person and any
such
> >> actions are
> >> >>>> >> unlawful. This e-mail may contain viruses. Infosys
has taken
> >> every
> >> >>>> >> reasonable precaution to minimize this risk, but is
not liable
> >> >>>> for any
> >> >>>> >> damage you may sustain as a result of any virus in
this
> >> e-mail. You
> >> >>>> >> should carry out your own virus checks before opening
the
> >> e-mail or
> >> >>>> >> attachment. Infosys reserves the right to monitor
and review the
> >> >>>> >> content of all messages sent to or from this e-mail
address.
> >> >>>> Messages
> >> >>>> >> sent to or from this e-mail address may be stored
on the Infosys
> >> >>>> >> e-mail system.
> >> >>>> >> ***INFOSYS******** End of Disclaimer ********INFOSYS***
> >> >>>> >>
> >> >>>> >
> >> >>>> >
> >> >>>>
> >> >>>
> >> >>>
> >> >>
> >> >>
> >> >
> >> >
> >>
> >
> >
>

Mime
View raw message