개요
wildfly domain 모드에서는 별도의 controller,Host 프로세서를 기동하여, 원격노드의 server(container) 프로세서를 한곳에서 관리할수 있는 기능 및 클러스터를 구성,운영 할수 있도록 해줍니다.
도메인은 하나의 도메인 컨트롤러(Domain Controller) + 하나또는 그이상의 호스트 컨트롤러(Host Controller) + 서버 그룹(Server Group)으로 구성됩니다.
** Host Controller는 Domain Controller에서 구성된 정보(domain.xml)를 읽어들이고, Domain Controller가 장애후 Host Controller 구동시에는 Host Controller가 구동 되지 않습니다. (단 Host Controller가 운영중에 Domain Controller가 장애발생시는 Host Controller는 정상 작동)
다운로드
JDK : java.oracle.com
WildFly : wildfly.org
1. JDK 설치
1.1 JDK 압축해제
shell> tar zxvf jdk-8u221-linux-x64.tar.gz
1.2 JAVA 환경 설정 vi .bash_profile
JAVA_HOME=/JDK_Install_Dir ; export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
2. WildFly 설치
2.1 WildFly 압축해제
shell> tar zxvf wildfly-16.0.0.Final.tar.gz
3. Domain Controller(Master) 설정
3.1 WildFly_INSTALL_DIR/domain/configuration/host.xml
management(관리콘솔), public(서비스)의 IP(127.0.0.1)를 서비스할 IP(192.168.0.120)주소로 바꿔줍니다.
** 127.0.0.1 로 되어 있을 경우 로컬에서만 접속 가능
3.2 관리 콘솔 사용자 추가
shell> WildFly_INSTALL_DIR/bin/add-user.sh
예)아래는 admin이라는 사용자 추가( 디폴트로 admin 사용자가 존재)
[wildfly@spectrumscale01 bin]$ ./add-user.sh |
3.3 원격 인증에 사용할 사용자 추가
- slave 사용자 생성
[wildfly@spectrumscale01 bin]$ ./add-user.sh |
4. 원격 노드 설정
host.xml 파일 수정( 위치 : WildFly_Install_Dir/domain/configuration/ )
변경전 | 변경후 |
<host xmlns="urn:jboss:domain:10.0" name="master"> |
<host xmlns="urn:jboss:domain:10.0" name="slave"> ** 여기서 name은 노드 이름(노드 구분) |
<domain-controller> <local/> </domain-conroller> |
<domain-controller> <remote protocol="http-remoting" host="192.168.0.120" port="9990" username="slave" security-realm="ManagementRealm" /> </domain-conroller> ** username은 3.3 항목에서 추가한 사용자 ** host/port 는 마스터 노드의 IP/PORT
** 12버전에서는 remote protocol을 사용했었는데, 16버전에서는 http-remoting protocol만 지원됨(언제 바뀌었니?) <remote protocol="remote" host="192.168.0.120 port="9990" username="slave" security-realm="ManagementRealm" /> |
<management> <security-realms> <security-realm name=ManagementRealm"> <authentication> <local default-user="$local" skip-group-loading="true"/> <properties path="mgmt-users.properties" relative-to="jboss.domain.config.dir"/> </authentication> <authorization map-groups-to-roles="false"> <properties path="mgmt-groups.properties" relative-to="jboss.domain.config.dir"/> </authorization> </security-realm> <security-realm name="ApplicationRealm"> |
<management> <security-realms> <security-realm name=ManagementRealm"> <server-identities> <secret value="UEBzczdvbzc=" /> => slave 사용자 패스워드 </server-identities> <authentication> <local default-user="$local" skip-group-loading="true"/> <properties path="mgmt-users.properties" relative-to="jboss.domain.config.dir"/> </authentication> <authorization map-groups-to-roles="false"> <properties path="mgmt-groups.properties" relative-to="jboss.domain.config.dir"/> </authorization> </security-realm> <security-realm name="ApplicationRealm"> |
<interfaces> <interface name="management"> <inet-address value="${jboss.bind.address.management:127.0.0.1}"/> </interface> <interface name="public"> <inet-address value="${jboss.bind.address:127.0.0.1}"/> </interface> </interfaces> |
<interfaces> <interface name="management"> <inet-address value="${jboss.bind.address.management:192.168.0.121}"/> </interface> <interface name="public"> <inet-address value="${jboss.bind.address:192.168.0.121}"/> </interface> </interfaces> ** slave 노드의 서비스 IP로 변경 |
5. 기동 및 종료
5.1 Domain Controller 및 원격노드 구동
shell> WildFly_Install_Dir/bin/domain.sh
5.2 원격노드 종료
shell> WildFly_Install_Dir/bin/jboss-cli.sh --connect --controller=192.168.0.121:9990 command=/host=slave:shutdown
5.3 Domain Controller와 서버 종료
shell> WildFly_Install_Dir/bin/jboss-cli.sh --connect --controller=192.168.0.120:9990 command=/host=master:shutdown
5.4 서버(컨테이너) 종료
shell> jboss-cli.sh --connect --controller=ip:port command=/host=master/server-config=servername:stop
6. 확인
6.1 SLAVE 노드가 정상적으로 접속이 된 경우 Domain Controller에 다음과 같은 로그 발생
6.2 관리 콘솔 확인
'WEB & WAS > WildFly' 카테고리의 다른 글
[WildFly] web Context 배제(exclude) (0) | 2019.09.03 |
---|---|
[WildFly] apache wildfly 연동(mod_cluster) (0) | 2019.09.02 |
[WildFly] 어플리케이션 배포 (0) | 2019.08.30 |
[WildFly] Apache WildFly 연동(mod_jk) (0) | 2019.08.29 |
[WildFly] 설치 - standalone 모드 (0) | 2019.08.29 |