JBOSS - mod_cluster setting

JBOSS - mod_cluster setting


Test OS : window 10
Test SW : JBOSS EWS

E:\app\was\webserver\bin> .\httpd.exe -version
Server version: Apache/2.2.26 (Win64)
Server built:   Feb  2 2015 11:06:24
JBOSS EAP 6.4.10

mod_cluster 사용을 위한 설정 가이드
  • apache 버전과 mod_cluster 버전 확인 필요

  1. mod copy
    mod_advertise.so
    mod_manager.so
    mod_proxy_cluster.so
    mod_slotmem.so
    기본적으로 jboss eap 설치 하고 나면 F:\app\was\jboss\modules\system\layers\base\native\lib64\httpd\modules  의 경로에 살펴 보면
    httpd mod 관련 제공해주는 so 파일들이 존재 한다.
    해당 파일을 webserver module 폴더로 복사 하여 사용한다.
  2. mod_cluster.conf 
          샘플 파일은 F:\app\was\jboss\modules\system\layers\base\native\etc\httpd\conf 경로의 mod_cluster.conf 파일을 참조 하여 작성 하면 된다.
          
mod_cluster.conf sample
# mod_proxy_balancer should be disabled when mod_cluster is used
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

MemManagerFile "@installroot@/var/cache/mod_cluster"

<IfModule manager_module>
  Listen 6666
  <VirtualHost *:6666>
    <Directory />
      Order deny,allow
      Deny from all
      Allow from 127.0.0.1
    </Directory>
    ServerAdvertise on
    EnableMCPMReceive

    <Location /mod_cluster_manager>
      SetHandler mod_cluster-manager
      Order deny,allow
      Allow from all
   </Location>
  </VirtualHost>
</IfModule>

NameVirtualHost *:80

<VirtualHost *:80>

   <Location />
      Order deny,allow
      Allow from all
   </Location>

   <Location /mod_cluster_manager>
      SetHandler mod_cluster-manager
      Order deny,allow
      Allow from all
   </Location>

</VirtualHost>

  1. instance-id  (domain mod 기준 작성) standalone 의 경우도 별반 차이가 없다. jboss.server.name 변수가 틀림
    profile 범위의 default-host subsystem 위치에 instance-id 작성
domain.xml 
            <subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host"  instance-id="${jboss.server.name}" native="false">
                <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
                <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>
                <virtual-server name="default-host" enable-welcome-root="true">
                    <alias name="localhost"/>
                    <alias name="example.com"/>
                </virtual-server>
            </subsystem>



** 주의 사항
같은 네트워크 내에 JBOSS EAP 인스턴스가 존재하는 경우 멀티캐스트 주소을 구분을 해주어야 한다.
tcp 통신으로도 클러스터링 구현 가능

        <socket-binding-group name="full-ha-sockets" default-interface="public">
            <socket-binding name="ajp" port="8009"/>
            <socket-binding name="http" port="8080"/>
            <socket-binding name="https" port="8443"/>
            <socket-binding name="jacorb" interface="unsecure" port="3528"/>
            <socket-binding name="jacorb-ssl" interface="unsecure" port="3529"/>
            <socket-binding name="jgroups-mping" port="0" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45700"/>
            <socket-binding name="jgroups-tcp" port="7600"/>
            <socket-binding name="jgroups-tcp-fd" port="57600"/>
            <socket-binding name="jgroups-udp" port="55200" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45688"/>
            <socket-binding name="jgroups-udp-fd" port="54200"/>
            <socket-binding name="messaging" port="5445"/>
            <socket-binding name="messaging-group" port="0" multicast-address="${jboss.messaging.group.address:231.7.7.7}" multicast-port="${jboss.messaging.group.port:9876}"/>
            <socket-binding name="messaging-throughput" port="5455"/>
            <socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/>
->            <socket-binding name="modcluster" port="0" multicast-address="${jboss.modcluster.multicast.address:224.0.1.105}" multicast-port="23364"/>
            <socket-binding name="remoting" port="4447"/>
            <socket-binding name="txn-recovery-environment" port="4712"/>
            <socket-binding name="txn-status-manager" port="4713"/>
            <outbound-socket-binding name="mail-smtp">
                <remote-destination host="localhost" port="25"/>
            </outbound-socket-binding>
        </socket-binding-group>

start shell 에 -Djboss.modcluster.multicast.address=224.10.1.1 와 같은 파라미터을 등록 하여 사용 한다.
multicast-address 주소을 직접 변경 해도 무방.


Test 


0 Comments:

댓글 쓰기

이 블로그 검색

Popular Posts

WEB&&WAS

OS

Reviews