4 Replies Latest reply on Jul 25, 2011 3:41 PM by dpalom

    multiple Apache instances with mod_cluster using common binaries

    dpalom

      Apache 2.2.15

      mod_cluster 1.0.4 GA

      JBoss EAP 5.1

       

      I have a moderately large environment with multiple JBoss clusters.  Our general practice has been to use a one to one relationship between Apache instances and JBoss clusters.  Our multiple Apache instances share a single set of Apache binaries. 

       

      I have found when trying to set up more than one Apache/mod_cluster/JBoss stack, mod_cluster seems to get confused.  mod_cluster-manager on any of the instances seems to know about the JBoss nodes that should be connected and visible only to other mod_cluster instances. 

       

      It looks like the root of this behavior are the sockets/files that are created under <apache_bin>/logs/

       

      cgisock.25704                       manager.domain.domain.lock     manager.node.nodes.slotmem

      manager.balancer.balancers.lock     manager.domain.domain.slotmem  manager.sessionid.sessionid.lock

      manager.balancer.balancers.slotmem  manager.host.hosts.lock        manager.sessionid.sessionid.slotmem

      manager.context.contexts.lock       manager.host.hosts.slotmem

      manager.context.contexts.slotmem    manager.node.nodes.lock

       

       

      Is there a way to configure mod_cluster to tell it to put these objects in a specific location for each Apache instance, similar to how I already tell each Apache instance to put its access/error logs in a location specific to each instance? 

       

      Thanks!

      Dave

        • 1. Re: multiple Apache instances with mod_cluster using common binaries
          jfclere
          1 of 1 people found this helpful
          • 2. Re: multiple Apache instances with mod_cluster using common binaries
            dpalom

            Strange.  That directive sure looks like what I was looking for, however it seems like it is being ignored.  FWIW, I am using mod_cluster 1.0.4 GA but the docs show that directive is available for 1.0.X also.  Maybe something else is wrong with my configs... 

             

            Apache server root is /env/atlas.bomba.dev/cust/apache/usr/. 

            The MemManager files are still showing up in /env/atlas.bomba.dev/cust/apache/usr/logs/ and not at the paths I am defining in each instance config. 

             

             

            configs for apacheA:

            LoadModule proxy_module modules/mod_proxy.so

            LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

            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

             

            <VirtualHost 10.199.128.222:18008>  

               <Directory />    

               Order deny,allow    

               Deny from all    

               #Allow from 10.199.128.

               Allow from all

            </Directory>

             

            KeepAliveTimeout 60

            MaxKeepAliveRequests 0 

            ManagerBalancerName eap-atlas0-LB

            MemManagerFile /env/atlas.bomba.dev/cust/apache/http-eap-atlas-master-1/var/run/

            AdvertiseFrequency 5

            AdvertiseGroup 231.80.44.20

             

            <Location /mod_cluster-manager>

            SetHandler mod_cluster-manager

            Order deny,allow

            Deny from all

            #Allow from 127.0.0.1

            Allow from all

            </Location>

             

            </VirtualHost>

             

             

            configs for apacheB:

            LoadModule proxy_module modules/mod_proxy.so

            LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

            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

             

            <VirtualHost 10.199.128.222:18010>  

            <Directory />    

               Order deny,allow    

               Deny from all    

               #Allow from 10.199.128.

               Allow from all

            </Directory>

             

            KeepAliveTimeout 60

            MaxKeepAliveRequests 0 

            ManagerBalancerName eap-atlas1-LB

            MemManagerFile /env/atlas.bomba.dev/cust/apache/http-eap-atlas1-1/var/run/

            AdvertiseFrequency 5

            AdvertiseGroup 231.80.44.25

             

            <Location /mod_cluster-manager>

            SetHandler mod_cluster-manager

            Order deny,allow

            Deny from all

            #Allow from 127.0.0.1

            Allow from all

            </Location>

             

            </VirtualHost>

             

             

             

            I know my Allows are wide open, just trying to get it to work before I ratchet that down. 

            • 3. Re: multiple Apache instances with mod_cluster using common binaries
              jfclere

              Don't put it in the VIrtualHost. I think that the problem.

              • 4. Re: multiple Apache instances with mod_cluster using common binaries
                dpalom

                Moving the directive out of the VirtualHost block did stop the files from showing up under <server_root>/logs but the behavior I see in mod_cluster-manager is the same. 

                 

                I updated the mod_cluster version to 1.0.10 GA and that seems to be working as I expected it to, no strange behavior.