You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by kashif_tomcat <ka...@vopium.com> on 2008/11/10 10:16:50 UTC

Re: Clustering in tomcat

Thanks filip... sessions are replicating now but still there are some issues.

can u please tell me 

sometimes it doesn't replicate session and i get session not found error in
logs and screen crashes.

2008-11-10 13:45:50,703 INFO [com.vopium.interceptors.SecurityInterceptor -
preHandle] - request.getRemoteAddr() 192.168.0.82   request.getRemoteHost()
192.168.0.82   /vopium/getproductlist.htm
2008-11-10 13:45:50,711 INFO [com.vopium.interceptors.SecurityInterceptor -
preHandle] - Session Not Found So Redirecting to Login and requested uri is
/vopium/getproductlist.htm (and after this screen crashes)



also i am unable to understand following point that i got in clustering
basics information

The IP broadcasted is java.net.InetAddress.getLocalHost().getHostAddress()
(make sure you don't broadcast 127.0.0.1, this is a common error)


also there is another issue that when one tomcat gets down then apache takes
some time to move to other server and meanwhile i get screen saying "service
temporarily unavailable" after some time (15-25 seconds) when i refresh
...screen starts from same point with no session failure and apache sends
hit to 2nd tomcat. 


Actually i am not the developer of this application i am just a
configuration engineer... therefor it takes me time to understand that issue
is either related to configuration or application end.  

waiting for helpful reply



Filip Hanik - Dev Lists wrote:
> 
> http://tomcat.apache.org/tomcat-6.0-doc/
> 
> look for "Cluster Basics"
> 
> Filip
> 
> kashif_tomcat wrote:
>> Thanks Filip...
>>
>> i have got out of that problem... after adding clustering port in
>> iptable. 
>>
>> now i am getting another exception and following is detail.
>>
>>
>> when i add <distributable/> tag in web.xml of my applicatoin and start
>> tomcat. then after login my application crashs and i get following
>> exception
>> in logs.
>>
>>
>> 2008-10-30 21:19:43,812 INFO [com.vopium.controller.LoginController -
>> handleControllerRequest] - Exception during LoginProcess setAttribute:
>> Non-serializable attribute
>> com.framework.exceptions.BaseRunTimeException
>>         at
>> org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1295)
>>         at
>> org.apache.catalina.ha.session.DeltaSession.setAttribute(DeltaSession.java:567)
>>         at
>> org.apache.catalina.ha.session.DeltaSession.setAttribute(DeltaSession.java:551)
>>         at
>> org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:130)
>>         at
>> com.vopium.controller.LoginController.handleControllerRequest(Unknown
>> Source)
>>         at
>> com.framework.controllers.BaseController.handleRequestInternal(Unknown
>> Source)
>>         at
>> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
>>         at
>> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
>>         at
>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
>>         at
>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
>>         at
>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
>>         at
>> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>         at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>         at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>         at com.vopium.portal.utilities.URLFilter.doFilter(Unknown Source)
>>         at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>         at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>         at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>>         at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>>         at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>>         at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>         at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>         at
>> org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:209)
>>         at
>> org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
>>         at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
>>         at
>> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
>>         at
>> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
>>         at
>> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
>>         at
>> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
>>         at
>> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
>>         at
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
>>         at java.lang.Thread.run(Thread.java:619)
>> 2008-10-30 21:19:43,829 INFO [com.vopium.interceptors.SecurityInterceptor
>> -
>> preHandle] - request.getRemoteAddr() 192.168.0.82  
>> request.getRemoteHost()
>> 192.168.0.82   /vopium/dashboard.htm
>> 2008-10-30 21:19:43,830 INFO [com.vopium.interceptors.SecurityInterceptor
>> -
>> preHandle] - Session Not Found So Redirecting to Login and requested uri
>> is
>> /vopium/dashboard.htm
>>
>>
>> and when i don,t add <distributable/> tag in web.xml of my application
>> then
>> application logins successfully but when  tomcat 1 is down then session
>> doesn't move to tomcat 2 and at that time application crash with same
>> behavior and throws following msg in logs of tomcat 2 (catalina.out). 
>>
>>
>>
>> 2008-10-30 20:34:51,126 INFO [com.vopium.interceptors.SecurityInterceptor
>> -
>> preHandle] - request.getRemoteAddr() 192.168.0.82  
>> request.getRemoteHost()
>> 192.168.0.82   /vopium/balanceandpaymentshistory.htm
>> 2008-10-30 20:34:51,127 INFO [com.vopium.interceptors.SecurityInterceptor
>> -
>> preHandle] - Session Not Found So Redirecting to Login and requested uri
>> is
>> /vopium/balanceandpaymentshistory.htm
>>
>>
>> i ll be thankful to you if u can tell me that is it configuration issue
>> or
>> development issue? and wt to do to fix iit.  
>>
>>
>>
>>
>>
>>
>>
>>
>> Filip Hanik - Dev Lists wrote:
>>   
>>> looks like your computer is not configured to allow multicast
>>>
>>> Caused by: java.io.IOException: Operation not permitted
>>>         at java.net.PlainDatagramSocketImpl.send(Native Method)
>>>         at java.net.DatagramSocket.send(DatagramSocket.java:612)
>>>
>>> http://www.dancres.org/bjspj/docs/docs/linux.html
>>>
>>> Filip
>>>
>>>
>>> kashif_tomcat wrote:
>>>     
>>>> Filip following is detail of exception that i get in catalian.out while
>>>> starting tomcat server.
>>>>
>>>>
>>>> 2008-10-22 17:51:59,297 INFO [org.hibernate.impl.SessionFactoryImpl -
>>>> close]
>>>> - closing
>>>> Oct 22, 2008 5:51:59 PM org.apache.coyote.http11.Http11Protocol destroy
>>>> INFO: Stopping Coyote HTTP/1.1 on http-8091
>>>> Oct 22, 2008 6:02:46 PM org.apache.catalina.core.AprLifecycleListener
>>>> init
>>>> INFO: The APR based Apache Tomcat Native library which allows optimal
>>>> performance in production environments was not found on the
>>>> java.library.path:
>>>> /u/bin/JDK/jdk1.6.0_10/jre/lib/i386/server:/u/bin/JDK/jdk1.6.0_10/jre/lib/i386:/u/bin/JDK/jdk1.6.0_10/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
>>>> Oct 22, 2008 6:02:46 PM org.apache.coyote.http11.Http11Protocol init
>>>> INFO: Initializing Coyote HTTP/1.1 on http-8091
>>>> Oct 22, 2008 6:02:46 PM org.apache.catalina.startup.Catalina load
>>>> INFO: Initialization processed in 406 ms
>>>> Oct 22, 2008 6:02:46 PM org.apache.catalina.core.StandardService start
>>>> INFO: Starting service Catalina
>>>> Oct 22, 2008 6:02:46 PM org.apache.catalina.core.StandardEngine start
>>>> INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
>>>> Oct 22, 2008 6:02:46 PM org.apache.catalina.ha.tcp.SimpleTcpCluster
>>>> start
>>>> INFO: Cluster is about to start
>>>> Oct 22, 2008 6:02:46 PM
>>>> org.apache.catalina.tribes.transport.ReceiverBase
>>>> bind
>>>> INFO: Receiver Server Socket bound to:/203.215.179.36:4000
>>>> Oct 22, 2008 6:02:46 PM
>>>> org.apache.catalina.tribes.membership.McastServiceImpl setupSocket
>>>> INFO: Setting cluster mcast soTimeout to 500
>>>> Oct 22, 2008 6:02:46 PM
>>>> org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
>>>> INFO: Sleeping for 1000 milliseconds to establish cluster membership,
>>>> start
>>>> level:4
>>>> Oct 22, 2008 6:02:47 PM
>>>> org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers
>>>> INFO: Done sleeping, membership established, start level:4
>>>> Oct 22, 2008 6:02:47 PM org.apache.catalina.ha.tcp.SimpleTcpCluster
>>>> start
>>>> SEVERE: Unable to start cluster.
>>>> org.apache.catalina.tribes.ChannelException: java.io.IOException:
>>>> Operation
>>>> not permitted; No faulty members identified.
>>>>         at
>>>> org.apache.catalina.tribes.group.ChannelCoordinator.internalStart(ChannelCoordinator.java:169)
>>>>         at
>>>> org.apache.catalina.tribes.group.ChannelCoordinator.start(ChannelCoordinator.java:97)
>>>>         at
>>>> org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:149)
>>>>         at
>>>> org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:149)
>>>>         at
>>>> org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.start(MessageDispatchInterceptor.java:147)
>>>>         at
>>>> org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:149)
>>>>         at
>>>> org.apache.catalina.tribes.group.GroupChannel.start(GroupChannel.java:407)
>>>>         at
>>>> org.apache.catalina.ha.tcp.SimpleTcpCluster.start(SimpleTcpCluster.java:669)
>>>>         at
>>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1035)
>>>>         at
>>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>>>>         at
>>>> org.apache.catalina.core.StandardService.start(StandardService.java:516)
>>>>         at
>>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>>>>         at
>>>> org.apache.catalina.startup.Catalina.start(Catalina.java:578)
>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>         at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>         at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>         at java.lang.reflect.Method.invoke(Method.java:597)
>>>>         at
>>>> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>>>>         at
>>>> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
>>>> Caused by: java.io.IOException: Operation not permitted
>>>>         at java.net.PlainDatagramSocketImpl.send(Native Method)
>>>>         at java.net.DatagramSocket.send(DatagramSocket.java:612)
>>>>         at
>>>> org.apache.catalina.tribes.membership.McastServiceImpl.send(McastServiceImpl.java:385)
>>>>         at
>>>> org.apache.catalina.tribes.membership.McastServiceImpl.start(McastServiceImpl.java:244)
>>>>         at
>>>> org.apache.catalina.tribes.membership.McastService.start(McastService.java:318)
>>>>         at
>>>> org.apache.catalina.tribes.group.ChannelCoordinator.internalStart(ChannelCoordinator.java:158)
>>>>         ... 18 more
>>>> Oct 22, 2008 6:02:47 PM org.apache.catalina.startup.Catalina start
>>>> SEVERE: Catalina.start: 
>>>> LifecycleException:  org.apache.catalina.tribes.ChannelException:
>>>> java.io.IOException: Operation not permitted; No faulty members
>>>> identified.
>>>>         at
>>>> org.apache.catalina.ha.tcp.SimpleTcpCluster.start(SimpleTcpCluster.java:676)
>>>>         at
>>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1035)
>>>>         at
>>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>>>>         at
>>>> org.apache.catalina.core.StandardService.start(StandardService.java:516)
>>>>         at
>>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>>>>         at
>>>> org.apache.catalina.startup.Catalina.start(Catalina.java:578)
>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>         at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>         at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>         at java.lang.reflect.Method.invoke(Method.java:597)
>>>>         at
>>>> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>>>>         at
>>>> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
>>>> Oct 22, 2008 6:02:47 PM org.apache.catalina.startup.Catalina start
>>>> INFO: Server startup in 1140 ms
>>>>
>>>> i am using ajp port 8109 to connect with tomcat. and added jvmRoute in
>>>> server.xml in following tag.
>>>>
>>>> <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
>>>>
>>>> and uncommented following tag
>>>>
>>>> <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
>>>>
>>>>
>>>> tell me please if anything more is required to do this clustering in
>>>> tomcat.
>>>> thanks
>>>>
>>>>
>>>>
>>>> Filip Hanik - Dev Lists wrote:
>>>>   
>>>>       
>>>>> if you paste in the whole error, we can tell you. we are missing the 
>>>>> root cause of the error, the IO exception that happened during startup
>>>>>
>>>>> Filip
>>>>>
>>>>> kashif_tomcat wrote:
>>>>>     
>>>>>         
>>>>>> can anyone help me for clustering in tomcat.
>>>>>>
>>>>>> here is scenario:
>>>>>>
>>>>>> two tomcat servers running on same linux machine on different ports
>>>>>> with
>>>>>> apache installed on front side as web server and using mode proxy ajp
>>>>>> for
>>>>>> integration with tomcat. now i uncommented following tag in
>>>>>> server.xml
>>>>>> of
>>>>>> tomcat conf to enable clustering. 
>>>>>>
>>>>>> <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
>>>>>>
>>>>>> when i start tomcat server i get following exception:
>>>>>>
>>>>>> INFO: Done sleeping, membership established, start level:4
>>>>>> Oct 21, 2008 3:04:38 PM org.apache.catalina.ha.tcp.SimpleTcpCluster
>>>>>> start
>>>>>> SEVERE: Unable to start cluster.
>>>>>> org.apache.catalina.tribes.ChannelException: java.io.IOException:
>>>>>> Operation
>>>>>> not permitted; No faulty members identified.
>>>>>> 	at
>>>>>> org.apache.catalina.tribes.group.ChannelCoordinator.internalStart(ChannelCoordinator.java:169)
>>>>>> 	at
>>>>>> org.apache.catalina.tribes.group.ChannelCoordinator.start(ChannelCoordinator.java:97)
>>>>>> 	at
>>>>>> org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:149)
>>>>>> )
>>>>>>
>>>>>>
>>>>>> can anyone tell me what more should i do ? is there anything missing? 
>>>>>>
>>>>>>
>>>>>>   
>>>>>>       
>>>>>>           
>>>>> ---------------------------------------------------------------------
>>>>> To start a new topic, e-mail: users@tomcat.apache.org
>>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>>
>>>>>
>>>>>
>>>>>     
>>>>>         
>>>>   
>>>>       
>>> ---------------------------------------------------------------------
>>> To start a new topic, e-mail: users@tomcat.apache.org
>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>
>>>
>>>
>>>     
>>
>>   
> 
> 
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Clustering-in-tomcat-tp20086170p20416675.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org