2 Replies Latest reply on Sep 20, 2005 4:36 PM by belaban

    Unable to start JBoss in clustered environment

    nitesh

      Hi,

      This is the first time I'm trying out clustering with JBoss. I'm trying to start JBoss with only one node in a cluster just to figure out the configuration required.

      I'm getting the following error on starting JBoss with 'run -c all':

      12:42:42,178 INFO [DefaultPartition] Initializing
      12:42:42,238 ERROR [JChannel] exception: java.lang.Exception: exception caused b
      y UDP.start(): java.net.SocketException: Not a multicast address
      12:42:42,238 ERROR [ClusterPartition] Starting failed jboss:service=DefaultParti
      tion
      ChannelException: java.lang.Exception: exception caused by UDP.start(): java.net
      .SocketException: Not a multicast address
      at org.jgroups.JChannel.connect(JChannel.java:323)
      at org.jboss.ha.framework.server.ClusterPartition.startService(ClusterPa
      rtition.java:297)
      at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanS
      upport.java:272)
      at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMB
      eanSupport.java:222)

      My cluster MBean descriptor in jboss-service.xml looks like this:

      <mbean code="org.jboss.ha.framework.server.ClusterPartition"
       name="jboss:service=DefaultPartition">
      
       <!-- Name of the partition being built -->
       <attribute name="PartitionName">DefaultPartition</attribute>
      
       <!-- The address used to determine the node name -->
       <attribute name="NodeAddress">10.1.3.76</attribute>
      
       <!-- Determine if deadlock detection is enabled -->
       <attribute name="DeadlockDetection">False</attribute>
      
       <!-- Max time (in ms) to wait for state transfer to complete. Increase for large states -->
       <attribute name="StateTransferTimeout">30000</attribute>
      
       <!-- The JGroups protocol configuration -->
       <attribute name="PartitionConfig">
       <!--
       The default UDP stack:
       - If you have a multihomed machine, set the UDP protocol's bind_addr attribute to the
       appropriate NIC IP address, e.g bind_addr="192.168.0.2".
       - On Windows machines, because of the media sense feature being broken with multicast
       (even after disabling media sense) set the UDP protocol's loopback attribute to true
       -->
       <Config>
       <UDP mcast_addr="10.1.3.76" mcast_port="45566"
       ip_ttl="8" ip_mcast="true"
       mcast_send_buf_size="800000" mcast_recv_buf_size="150000"
       ucast_send_buf_size="800000" ucast_recv_buf_size="150000"
       loopback="true"/>
       <PING timeout="2000" num_initial_members="3"
       up_thread="true" down_thread="true"/>
       <MERGE2 min_interval="10000" max_interval="20000"/>
       <FD shun="true" up_thread="true" down_thread="true"
       timeout="2500" max_tries="5"/>
       <VERIFY_SUSPECT timeout="3000" num_msgs="3"
       up_thread="true" down_thread="true"/>
       <pbcast.NAKACK gc_lag="50" retransmit_timeout="300,600,1200,2400,4800"
       max_xmit_size="8192"
       up_thread="true" down_thread="true"/>
       <UNICAST timeout="300,600,1200,2400,4800" window_size="100" min_threshold="10"
       down_thread="true"/>
       <pbcast.STABLE desired_avg_gossip="20000"
       up_thread="true" down_thread="true"/>
       <FRAG frag_size="8192"
       down_thread="true" up_thread="true"/>
       <pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
       shun="true" print_local_addr="true"/>
       <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
       </Config>
      
       <!-- Alternate TCP stack: customize it for your environment, change bind_addr and initial_hosts -->
       </attribute>
       </mbean>
      
      


      I've checked in my host file and the hostname-ip address is correctly mapped.

      Any help will be highly appreciated.

      Regards,

      Nitesh

        • 1. Re: Unable to start JBoss in clustered environment
          brian.stansberry

          You're setting the multicast address when I think your intent is to set the bind address. The bind_addr attribute controls what interface the JGroups UDP layer binds to when sending and receiving multicast. The mcast_addr attribute has to be a valid multicast address.

          Here is an example:

          <UDP bind_addr="10.1.3.76" mcast_addr="228.1.2.3" mcast_port="45566"
          ip_ttl="8" ip_mcast="true"
          mcast_send_buf_size="800000" mcast_recv_buf_size="150000"
          ucast_send_buf_size="800000" ucast_recv_buf_size="150000"
          loopback="false"/>

          Also, you may not even need to set bind_addr; it's needed if your machine has more than one IP address.

          • 2. Re: Unable to start JBoss in clustered environment
            belaban

             

            UDP mcast_addr="10.1.3.76"


            not a multicast address, like the error message said :-)

            Use 228.4.5.6 for example