tomcat負載平衡: Unable to start cluster receiver

來源:互聯網
上載者:User

我在windows下安裝用Vmware+Redhat,配置apache+tomcat+負載平衡的時候,出現了一個很奇怪的問題:

注意到:

資訊: Initializing ProtocolHandler ["http-bio-8080"]2011-8-2 19:59:24 org.apache.coyote.AbstractProtocol init資訊: Initializing ProtocolHandler ["ajp-bio-8009"]2011-8-2 19:59:24 org.apache.catalina.startup.Catalina load資訊: Initialization processed in 732 ms2011-8-2 19:59:24 org.apache.catalina.core.StandardService startInternal資訊: Starting service Catalina2011-8-2 19:59:24 org.apache.catalina.core.StandardEngine startInternal資訊: Starting Servlet Engine: Apache Tomcat/7.0.192011-8-2 19:59:24 org.apache.catalina.ha.tcp.SimpleTcpCluster startInternal資訊: Cluster is about to start2011-8-2 19:59:25 org.apache.catalina.tribes.transport.ReceiverBase bind資訊: Unable to bind server socket to:/192.168.137.3:4099 throwing error.2011-8-2 19:59:25 org.apache.catalina.tribes.transport.nio.NioReceiver start嚴重: Unable to start cluster receiverjava.net.BindException: Cannot assign requested address    at sun.nio.ch.Net.bind(Native Method)    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:126)    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:52)    at org.apache.catalina.tribes.transport.ReceiverBase.bind(ReceiverBase.java:231)    at org.apache.catalina.tribes.transport.nio.NioReceiver.bind(NioReceiver.java:138)    at org.apache.catalina.tribes.transport.nio.NioReceiver.start(NioReceiver.java:107)    at org.apache.catalina.tribes.group.ChannelCoordinator.internalStart(ChannelCoordinator.java:145)    at org.apache.catalina.tribes.group.ChannelCoordinator.start(ChannelCoordinator.java:99)    at org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:162)    at org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:162)    at org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.start(MessageDispatchInterceptor.java:153)    at org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:162)    at org.apache.catalina.tribes.group.GroupChannel.start(GroupChannel.java:419)    at org.apache.catalina.ha.tcp.SimpleTcpCluster.startInternal(SimpleTcpCluster.java:653)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1024)    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:291)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:727)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)    at org.apache.catalina.startup.Catalina.start(Catalina.java:621)    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:322)    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)2011-8-2 19:59:25 org.apache.catalina.ha.tcp.SimpleTcpCluster startInternal嚴重: Unable to start cluster.org.apache.catalina.tribes.ChannelException: java.net.BindException: Cannot assign requested address; No faulty members identified.    at org.apache.catalina.tribes.group.ChannelCoordinator.internalStart(ChannelCoordinator.java:178)    at org.apache.catalina.tribes.group.ChannelCoordinator.start(ChannelCoordinator.java:99)    at org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:162)    at org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:162)    at org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.start(MessageDispatchInterceptor.java:153)    at org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:162)    at org.apache.catalina.tribes.group.GroupChannel.start(GroupChannel.java:419)    at org.apache.catalina.ha.tcp.SimpleTcpCluster.startInternal(SimpleTcpCluster.java:653)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1024)    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:291)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:727)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)    at org.apache.catalina.startup.Catalina.start(Catalina.java:621)    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:322)    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)Caused by: java.net.BindException: Cannot assign requested address    at sun.nio.ch.Net.bind(Native Method)    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:126)    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:52)    at org.apache.catalina.tribes.transport.ReceiverBase.bind(ReceiverBase.java:231)    at org.apache.catalina.tribes.transport.nio.NioReceiver.bind(NioReceiver.java:138)    at org.apache.catalina.tribes.transport.nio.NioReceiver.start(NioReceiver.java:107)    at org.apache.catalina.tribes.group.ChannelCoordinator.internalStart(ChannelCoordinator.java:145)    ... 22 more2011-8-2 19:59:25 org.apache.catalina.startup.Catalina start嚴重: Catalina.start: org.apache.catalina.LifecycleException: org.apache.catalina.tribes.ChannelException: java.net.BindException: Cannot assign requested address; No faulty members identified.    at org.apache.catalina.ha.tcp.SimpleTcpCluster.startInternal(SimpleTcpCluster.java:660)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1024)    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:291)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:727)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)    at org.apache.catalina.startup.Catalina.start(Catalina.java:621)    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:322)    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)Caused by: org.apache.catalina.tribes.ChannelException: java.net.BindException: Cannot assign requested address; No faulty members identified.    at org.apache.catalina.tribes.group.ChannelCoordinator.internalStart(ChannelCoordinator.java:178)    at org.apache.catalina.tribes.group.ChannelCoordinator.start(ChannelCoordinator.java:99)    at org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:162)    at org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:162)    at org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.start(MessageDispatchInterceptor.java:153)    at org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:162)    at org.apache.catalina.tribes.group.GroupChannel.start(GroupChannel.java:419)    at org.apache.catalina.ha.tcp.SimpleTcpCluster.startInternal(SimpleTcpCluster.java:653)    ... 15 moreCaused by: java.net.BindException: Cannot assign requested address    at sun.nio.ch.Net.bind(Native Method)    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:126)    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:52)    at org.apache.catalina.tribes.transport.ReceiverBase.bind(ReceiverBase.java:231)    at org.apache.catalina.tribes.transport.nio.NioReceiver.bind(NioReceiver.java:138)    at org.apache.catalina.tribes.transport.nio.NioReceiver.start(NioReceiver.java:107)    at org.apache.catalina.tribes.group.ChannelCoordinator.internalStart(ChannelCoordinator.java:145)    ... 22 more2011-8-2 19:59:25 org.apache.catalina.startup.Catalina start資訊: Server startup in 703 ms


這個問題很明顯是連接埠錯誤,但是就是找不到原因,我的主機ip192.168.137.3,我的Vmware的ip是192.168.124.134,我的windows下的tomcat啟動正常,但是在Redhatlinux下面的tomcat啟動的時候就出現了一個錯誤。在網上找了很多資料,都是說連接埠衝突,系統提示,也似乎是連接埠衝突,但是就是找不到原因,也找不到192.168.137.3:4099這個連接埠被誰用了,真是鬱悶,最後我重啟機器,首先啟動linux下面的tomcat錯誤
還是一樣的提示資訊。就是不知道:

Unable to bind server socket to:/192.168.137.3:4099 throwing erro

這句到底是在哪裡進行配置,我的虛擬機器裡怎麼會與192.168.137.3:4099綁定,找到下面那條語句:

org.apache.catalina.tribes.transport.nio.NioReceiver

最後,終於知道是設定檔server.xml檔案出錯了

 <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"                      address="auto"     //把這個改為localhost或都自己的ip都可以;如果用auto的話,在vmware裡會與主機的實際ip產生衝突,原因不知道是什麼,呵呵。                      port="4000"                      autoBind="100"                      selectorTimeout="5000"                      maxThreads="6"/>

重新啟動tomcat,感覺世界又美好了些!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.