5 Replies Latest reply on Jul 26, 2012 9:38 AM by Radoslav Husar

    httpd+mod_cluster and jboss master on seperat hosts?

    Christopher Thorjussen Newbie

      I've got two jboss 7.1.1 slaves (running with host-slave.xml) and one jboss 7.1.1 master (host-master.xml) on centos6 on my LAN and one Apache 2.2.15 (centos6) with mod_cluster 1.2.0.Final in DMZ.

       

      I'm having problem getting my slaves to register with mod_cluster. Do I need to run httpd+mod_cluster on the same host as jboss master?

       

      I've can't do multicast between LAN and DMZ, so the frontend has an extra nic connected to the LAN segment.

       

      My Server-Group "group-extranet" is using the 'ha' profile (and not full-ha).

       

      simplified config on apache (removed config on logging etc):

       

       

      global config:

      ## Load modules for mod_cluster

      LoadModule slotmem_module modules/mod_slotmem.so

      LoadModule manager_module modules/mod_manager.so

      LoadModule proxy_cluster_module modules/mod_proxy_cluster.so

      LoadModule advertise_module modules/mod_advertise.so

      Listen 10001

      MemManagerFile /var/cache/httpd

      AllowDisplay    On

       

      vhost config:

      <VirtualHost internal-ip:10001>

              ServerName cluster.testing.local

              KeepAliveTimeout 60

              MaxKeepAliveRequests 0

              ManagerBalancerName group-extranet

              EnableMCPMReceive

              ServerAdvertise On

      </VirtualHost>

       

      <VirtualHost public-ip:80>

           ServerName frontend.testing.local

              <Location /cluster-manager>

                      SetHandler mod_cluster-manager

                      Order deny,allow

                      Deny from all

                      Allow from "client-network"

              </Location>

      </VirtualHost>

       

      I see the /cluster-manager/ site, but no hosts have registered:

       

      <SNIP>

      mod_cluster/1.2.0.Final

      start of "httpd.conf" configuration

      mod_proxy_cluster.c: OK

      mod_sharedmem.c: OK

      Protocol supported: http AJP https

      mod_advertise.c: OK

      Server: frontend.testing.local

      Server: frontend.testing.local VirtualHost: public-ip:80

      Server: cluster.testing.local VirtualHost: internal-ip:10001 Advertising on Group 224.0.1.105 Port 23364 for http://internal-ip:10001 every 10 seconds

      end of "httpd.conf" configuration

       

      Auto Refresh show DUMP output show INFO output

      </SNIP>

       

       

      I have verified that multicast works between my frontend(-lan-nic) and backend jboss following http://www.techstacks.com/howto/troubleshoot-jgroups-and-multicast-ip-issues.html and running recieve and send test both ways.

       

      $JAVA_HOME/bin/java -cp jgroups-3.0.6.Final.jar org.jgroups.tests.McastReceiverTest -mcast_addr 224.0.1.100 -port 23456

      $JAVA_HOME/bin/java -cp jgroups-3.0.6.Final.jar org.jgroups.tests.McastSenderTest -mcast_addr 224.0.1.100 -port 23456

       

       

      Master startup (not background, but console at the moment)

      /opt/jboss/default/bin/domain.sh --host-config=host-master.xml -b 0.0.0.0 -bmanagement=0.0.0.0

       

      Slave startup (not background, but console at the moment):

      /opt/jboss/default/bin/domain.sh --host-config=host-slave.xml --master-address=jboss-master-internal-ip -b=0.0.0.0 --backup

       

      slave console output shows mod_cluster initializes:

       

      [Server:q1impweb01n01-extranet] 18:35:57,160 INFO  [org.apache.coyote.http11.Http11AprProtocol] (MSC service thread 1-1) Starting Coyote HTTP/1.1 on http--0.0.0.0-8080

      [Server:q1impweb01n01-extranet] 18:35:57,196 INFO  [org.apache.coyote.ajp.AjpAprProtocol] (MSC service thread 1-1) Starting Coyote AJP/1.3 on ajp--0.0.0.0-8009

      [Server:q1impweb01n01-extranet] 18:35:57,525 INFO  [org.jboss.modcluster.ModClusterService] (MSC service thread 1-1) Initializing mod_cluster 1.2.0.Final

      [Server:q1impweb01n01-extranet] 18:35:57,571 INFO  [org.jboss.modcluster.advertise.impl.AdvertiseListenerImpl] (MSC service thread 1-1) Listening to proxy advertisements on 224.0.1.105:23364

      [Server:q1impweb01n01-extranet] 18:35:57,939 INFO  [org.jboss.as.remoting] (MSC service thread 1-1) JBAS017100: Listening on /0.0.0.0:4447

       

       

      Update #1: I found out that multicast was transmitted on DMZ nic, so added a route for it to be transmitted on LAN nic. Verified with tcpdump. First I got udp checksum error since these servers are vmware-guest, but fixed that by turning offloading according to http://ubuntuforums.org/showthread.php?t=1940190. But I still doesn't see any multicast traffic on my slaves, which are in the same network

       

      Update #2: Setting the proxyList manually (console > Profiles > ha > Web > Modcluster > Proxies > Proxy List > IP:PORT) made the slaves connect but when the second slave connected I got errors like

      {code]Error [MEM: MEM: Old node still exist: {4}] sending command CONFIG to proxy frontend.testing.local/internal-ip:100001, configuration will be reset{code}

      This was fixed by adding instance-id="${jboss.node.name}" to the web subsystem.

      Still not working with multicast

       

      Is 7.1.2.EAP better?