내용 목차
본 장에서는 도메인에 서버를 추가하는 방법과 서버를 추가할 때 꼭 필요한 설정에 대해서 설명한다. 또한 서버에 설정을 변경할 때의 동작 방법에 대해서 설명한다.
JEUS에서는 WebAdmin과 콘솔 툴을 통해 서버의 설정을 변경할 수 있다. 서버의 엔진에서 동작하는 애플리케이션이 보안 인증과 권한 검사를 필요로 하지 않는다면 JEUS에서 보안 기능을 사용하지 않도록 설정한다.
위와는 별도로 하위 구성 요소들에 대한 튜닝도 확인해야 한다. 이에 대한 설명은 각 구성 요소에 대한 장을 참고한다.
본 절에서는 WebAdmin과 콘솔 툴을 통해 도메인에 서버를 추가하는 방법과 서버를 추가할 때 반드시 필요로 하는 최소 설정에 대해 설명한다. 서버 설정에 대한 자세한 내용은 “2.3. 서버 설정”을 참고한다.
WebAdmin을 사용해서 서버를 추가할 경우에는 서버의 모든 설정을 추가할 수 있다. 그러나 콘솔 툴을 통해 명령어를 사용해서 서버를 추가할 경우에는 서버의 모든 설정을 추가할 수 없다.
다음은 WebAdmin을 사용해서 서버를 추가하는 과정에 대한 설명이다.
WebAdmin의 메인 화면에서 jeus_master 노드를 클릭하면 도메인 관리 콘솔 화면이 나타난다.
도메인 관리 콘솔 화면에서 [서버] 메뉴를 선택하면 도메인 내에 존재하는 서버 리스트가 나타난다. 새로운 서버를 추가하기 위해서는 [+추가] 버튼을 클릭하면 된다.
서버 추가 화면에는 여러 설정이 존재하는데, 추가할 서버의 이름과 'Jvm Option'을 설정하고 우측 하단의 [추가] 버튼을 클릭한다.
필요한 경우 서버의 고급 선택사항을 설정한다. 서버를 추가할 때 이 설정이 반드시 필요하지 않기 때문에 상세한 항목 설정은 하지 않는다.
다음은 주요 설명 항목에 대한 설명이다. 각 설정 항목에 대한 자세한 내용은 화면의 설명을 참고한다.
항목 | 설명 |
---|---|
Name | 서버의 이름이다. |
Log Home | JEUS Server에서 만드는 log의 기본 경로를 지정한다. 자세한 설명은 “8.2. JEUS 로거 기본 구조”를 참고한다. |
Listener | 서버의 JEUS 시스템이 사용하는 Socket Listener 및 Socket Connection Request 처리에 필요한 각종 속성을 지정한다. |
Action On Resource Leak | 컴포넌트(주로 Stateless Component - Servlet/JSP, Stateless Session Bean, MDB)에서 사용한 리소스(JCA, JDBC Connection 등)에 대한 Logging이나 반환 액션을 설정한다. 기본 동작은 Logging을 남기는 것(Warning)이다. 설정에 대한 자세한 내용은 “2.3.2.2. Action On Resource Leak 설정”을 참고한다. |
Data Source Remote Lookup | Remote JVM 상에서의 데이터소스 Lookup이 가능하도록 한다. 데이터소스 Lookup을 통해 Remote JVM에서 Connection Pool을 구성하여 사용하던 기존 Standalone Client를 지원할 수 있다. |
Engine Init On Startup | 서버 내부의 엔진들(Web, EJB, JMS)의 초기화 시점을 설정한다. 자세한 설명은 “3.2.2. 엔진 초기화 시점 설정”을 참고한다. 이 부분이 체크되면 서버가 초기화 될 때 내부 엔진들도 함께 초기화되고, 체크되지 않았을 경우에는 각 엔진별로 애플리케이션이 deploy될 경우에 초기화된다. 단, JMS 엔진의 경우 EJB 애플리케이션이 MDB(Message Driven Bean)일 경우에 애플리케이션이 deploy될 때 초기화된다. 이 설정은 서버를 재기동해야 적용된다. |
Use Ejb Engine | 서버 내부의 EJB 애플리케이션을 사용하기 위한 내부 엔진의 사용 여부를 설정한다. 자세한 설명은 “3.2.1. 엔진 사용 여부 설정”을 참고한다. |
Use Jms Engine | 서버 내부의 JMS 서비스를 사용하기 위한 내부 엔진의 사용 여부를 설정한다. 자세한 설명은 “3.2.1. 엔진 사용 여부 설정”을 참고한다. |
Use Web Engine | 서버 내부의 웹 애플리케이션을 사용하기 위한 내부 엔진의 사용 여부를 설정한다. 자세한 설명은 “3.2.1. 엔진 사용 여부 설정”을 참고한다. 사용하지 않음으로 설정하고 웹 애플리케이션을 deploy를 하면 deploy는 실패한다. 이 설정은 서버를 재기동해야 적용된다. |
Managed Executor Service | Jakarta Concurrency(JSR-236) 스펙에서 사용할 ManagedExecutorService를 설정한다. 애플리케이션 서버가 리소스 및 컨텍스트를 관리하는 ExecutorService 상에서 작업을 실행할 수 있다. 자세한 설명은 “JEUS Concurrency Utilities 안내서”의 “제2장 Managed Objects”를 참고한다. |
Managed Scheduled Executor Service | Jakarta Concurrency(JSR-236) 스펙에서 사용할 ManagedScheduledExecutorService를 설정한다. 애플리케이션 서버가 리소스 및 컨텍스트를 관리하는 ScheduledExecutorService 상에서 주기적인 작업을 실행할 수 있다. 자세한 설명은 “JEUS Concurrency Utilities 안내서”의 “제2장 Managed Objects”를 참고한다. |
Context Service | Jakarta Concurrency(JSR-236) 스펙에서 사용할 ContextService를 설정한다. 작업(Task) 자체를 Dynamic Proxy 기술을 통해 컨텍스트를 유지시켜준다. 자세한 설명은 “JEUS Concurrency Utilities 안내서”의 “제2장 Managed Objects”를 참고한다. |
Managed Thread Factory | Jakarta Concurrency(JSR-236) 스펙에서 사용할 ManagedThreadFactory를 설정한다. 해당 ThreadFactory에서 생성된 스레드 상에서 동작하는 작업(Task)들의 Context가 유지된다. 자세한 설명은 “JEUS Concurrency Utilities 안내서”의 “제2장 Managed Objects”를 참고한다. |
Node Name | 추가할 서버가 속하는 노드의 이름을 설정한다. 노드에는 머신 정보, 호스트 정보 등이 포함된다. |
Jvm Option | 서버 JVM을 실행할 때 적용하는 옵션을 설정한다. 여러 개의 Jvm Option을 나열할 수 있으며, Jvm Option안에 Enter나 띄어쓰기로 여러 개의 옵션을 한 번에 나열할 수 있다. |
Data Source | 서버 혹은 클러스터에서 유효한 데이터소스를 지정한다. |
서버 목록에 새로운 서버가 추가된 것을 확인할 수 있다. 서버 이름을 클릭하면 해당 서버의 설정 정보를 관리할 수 있다.
새로 추가한 서버의 이름을 클릭하면 서버 설정 변경 화면이 나타난다.
[Basic] > [System Thread Pool] 메뉴를 선택하면 System Thread Pool 에 대한 설정 항목이 나타난다. 해당 화면에서 [수정] 버튼을 클릭하고 'Max' 값을 200으로 변경한다.
[저장] 버튼을 클릭하면 설정 변경 내용이 저장되면서 [저장 완료]라는 결과 메시지가 표시된다.
System Thread Pool 저장이 완료되면 다음은 서버의 Listener 정보를 설정해야 한다. Listener port는 머신 내 다른 서버에서 사용하는 포트와 겹치지 않도록 설정해야 한다.
[Resource] > [Listener] 메뉴를 선택하면 Listener 목록 화면으로 이동한다
Listener 목록에서 [base] > [수정] 버튼을 클릭하고 Listen Port를 9836으로 변경한 뒤, [저장] 버튼을 눌러 저장해준다.
변경한 설정 내용이 저장되고 화면의 Listener 목록에 Listener Port 정보가 변경된 것을 확인할 수 있다.
Listener 목록 아래에 '기본 설정' 에서 'Base' 리스너로 base(0.0.0.0/9836)가 선택되어 있지 않은 경우, base Listener를 선택하고 [저장] 버튼을 클릭한다.
[Engine] 탭을 선택해서 [Web Engine], [Jms Engine], [Ejb Engine] 메뉴를 선택해서 엔진의 정보를 설정할 수 있다.
콘솔 툴에서는 add-server 명령어를 통해 서버를 추가할 수 있다. 하지만 이 명령어로는 몇 가지 설정에 대해서만 추가할 수 있기 때문에 서버를 추가하고 난 뒤에 별도의 명령어들을 통해 설정을 변경해야 한다. 만약 엔진 설정을 변경하는 경우 웹 엔진, EJB 엔진, JMS 엔진 명령어를 사용한다.
웹 엔진 설정을 변경하는 명령어(“JEUS Reference 안내서”의 “4.2.8. 웹 엔진 관련 명령어”), EJB 엔진 설정을 변경하는 명령어(“JEUS Reference 안내서”의 “4.2.7. EJB 엔진 관련 명령어”), JMS 엔진 설정을 변경하는 명령어(“JEUS Reference 안내서”의 “4.2.10. JMS 엔진 관련 명령어”)에 대한 자세한 설명은 관련 안내서를 참고한다.
다음은 콘솔 툴에서 서버를 추가하는 예제이다.
[MASTER]domain1.adminServer>server-info Information about Domain (domain1) ================================================================================ +--------+---------+-----+-----+-----+-----------+--------+-----------+--------+ | Server | Status |Node | PID | Clu | Latest | Need | Listen |Running | | | |Name | |ster |Start Time | to | Ports |Engines | | | | | | | / |Restart | | | | | | | | | Shutdown | | | | | | | | | | Time | | | | +--------+---------+-----+-----+-----+-----------+--------+-----------+--------+ | adminS | RUNNING | nod | 572 | N/A |2022-07-14 | false | base-0.0. | jms, | |erver |(00:18:2 |e1 |02 | |(목) 오후 | |0.0:9736 |web, ejb| |(*) |0) | | | |01:28:24 | | http-serv | | | | | | | |KST | |er-0.0.0.0 | | | | | | | | | |:8088 | | +--------+---------+-----+-----+-----+-----------+--------+-----------+--------+ | server1| RUNNING | nod | 589 | N/A |2022-07-14 | false | base-0.0. | jms, | | |(00:00:0 |e1 |25 | |(목) 오후 | |0.0:9836 |web, ejb| | |8) | | | |01:46:36 | | http-serv | | | | | | | |KST | |er-0.0.0.0 | | | | | | | | | |:8188 | | +--------+---------+-----+-----+-----+-----------+--------+-----------+--------+ ================================================================================ [MASTER]domain1.adminServer>add-server server2 -addr 192.168.15.59 -baseport 9936 -node node1 -jvm "-Xmx512m -XX:MaxPermSize=128m" Successfully performed the ADD operation for server (server2). NOTICE : base-addr [192.168.15.59] base-port [9936] http-port [8088] Check the results using "list-servers or add-server". [MASTER]domain1.adminServer>modify-system-thread-pool server2 -max 200 Successfully performed the MODIFY operation for the system thread pool of the server (server2), but all changes were non-dynamic. They will be applied after restarting. Check the results using "modify-system-thread-pool server2 or show-system-thread-pool server2". [MASTER]domain1.adminServer>server-info Information about Domain (domain1) ================================================================================ +--------+---------+-----+-----+-----+-----------+--------+-----------+--------+ | Server | Status |Node | PID | Clu | Latest | Need | Listen |Running | | | |Name | |ster |Start Time | to | Ports |Engines | | | | | | | / |Restart | | | | | | | | | Shutdown | | | | | | | | | | Time | | | | +--------+---------+-----+-----+-----+-----------+--------+-----------+--------+ | adminS | RUNNING | nod | 572 | N/A |2022-07-14 | false | base-0.0. | jms, | |erver |(00:38:1 |e1 |02 | |(목) 오후 | |0.0:9736 |web, ejb| |(*) |1) | | | |01:28:24 | | http-serv | | | | | | | |KST | |er-0.0.0.0 | | | | | | | | | |:8088 | | +--------+---------+-----+-----+-----+-----------+--------+-----------+--------+ | server1| RUNNING | nod | 589 | N/A |2022-07-14 | false | base-0.0. | jms, | | |(00:19:5 |e1 |25 | |(목) 오후 | |0.0:9836 |web, ejb| | |9) | | | |01:46:36 | | http-serv | | | | | | | |KST | |er-0.0.0.0 | | | | | | | | | |:8188 | | +--------+---------+-----+-----+-----+-----------+--------+-----------+--------+ | server2| SHUTDOWN| nod | N/A | N/A |2022-07-14 | N/A | N/A | N/A | | | |e1 | | |(목) 오후 | | | | | | | | | |02:04:50 | | | | | | | | | |KST | | | | +--------+---------+-----+-----+-----+-----------+--------+-----------+--------+ ================================================================================
서버 설정은 WebAdmin이나 콘솔 툴을 사용해서 설정이 가능하다. 콘솔 툴의 경우는 WebAdmin에서처럼 서버의 모든 설정을 변경할 수는 없다. 콘솔 툴에서는 사용자가 많이 사용하는 주요 설정만 사용할 수 있도록 한다. 콘솔 툴에서 변경할 수 없는 설정은 WebAdmin을 통해서 변경해야 한다.
본 절에서는 서버 및 JEUS에서 제공하는 각종 콘솔 툴들이 동작하기 위해 필요한 환경변수에 대하여 설명한다. 환경변수는 WebAdmin이나 콘솔 툴을 통한 설정을 지원하지 않는다.
JEUS가 동작하기 위하여 필요한 환경변수는 설치 시 UNIX 환경인 경우 JEUS_HOME/bin/jeus.properties, Windows 환경인 경우 JEUS_HOME\bin\jeus.properties.cmd 파일에 자동적으로 기본값이 설정된다. 해당 파일들은 각 운영체제 계열에서 제공하는 쉘 스크립트로 작성되어 있으며, 필요한 경우 사용자가 해당 파일을 수정하여 환경변수를 추가하거나 수정할 수 있다.
쉘 스크립트를 작성하는 방법이나 환경변수를 변경하는 방법은 OS에 따라 다르므로, 이에 대해서는 각 OS 안내서를 참고한다.
JEUS에서 사용하는 주요 환경변수에 대한 목록은 다음과 같다.
jeus.properties에 지정한 환경변수는 해당 스크립트를 참조하여 실행하는 모든 서버 및 툴에 적용된다.
서버별로 환경변수를 다르게 지정하고자 하는 경우에는 다음과 같은 과정을 수행한다.
다음의 경로에 각 운영체제별로 환경변수 파일 또는 셸 스크립트 파일을 생성한다.
UNIX 환경
JEUS_HOME/bin/<DOMAIN_NAME>.<SERVER_NAME>.properties
Windows 환경
JEUS_HOME\bin\<DOMAIN_NAME>.<SERVER_NAME>.properties.cmd
각 운영체제별로 생성한 파일(과정 1)을 수정하여 환경변수를 지정한다. 파일을 작성할 때 jeus.properties 또는 jeus.properties.cmd 파일을 참고한다.
다음은 각 운영체제별 환경변수 파일의 예이다.
UNIX 환경
# set up JAVA_HOME JAVA_HOME=/usr/java/jdk1.8.0_181 # set up user name USERNAME= # set up password PASSWORD=jeus
Windows 환경
rem setup JAVA_HOME SET JAVA_HOME=C:\Java\jdk1.8.0_181\jre\.. rem setup user name SET USERNAME=jeus rem setup password SET PASSWORD=jeus
서버 기동 스크립트를 사용하여 서버를 기동하는 경우 - server 옵션을 사용하여 서버 이름을 지정한다.
다음은 각 운영체제별 서버 기동하는 예제이다.
UNIX 환경
JEUS_HOME/bin$startMasterServer -server adminServer
Windows 환경
JEUS_HOME\bin>startMasterServer.cmd -server adminServer
본 절에서는 기본적인 설정에 대해서 설명한다. 설명하지 않은 설정들에 대해서는 관련 서비스에 대한 안내서를 참고한다.
서버의 기본 설정 중 Class FTP, Use MEJB, Log Stdout To Raw Format은 동적 변경 가능하다. 동적 반영되는 설정은 WebAdmin에서는 아이콘()을 통해 확인할 수 있고, 콘솔 툴에서는 help 명령어를 통해 modify-server 명령어를 실행하면 조회할 수 있다. 각 명령어에 대한 자세한 내용은 "JEUS Reference Book"을 참고한다.
다음은 WebAdmin을 통해 동적 변경이 가능한 기본 설정들을 변경하는 과정에 대한 설명이다.
WebAdmin의 메인 화면에서 jeus_master 노드를 클릭하면 도메인 관리 콘솔 화면이 나타난다.
콘솔 화면에서 [서버] 항목을 선택하면 도메인 내에 존재하는 서버 리스트가 나타난다. 서버(server1)를 선택해서 서버 설정 화면으로 이동한다. [Basic] > Basic Info] 항목을 선택하고 [수정] 버튼을 클릭한다.
고급 선택사항에서 'Use MEJB', 'Log Stdout To Raw Format' 항목을 설정한다. 설정이 완료되면 [저장] 버튼을 클릭한다.
설정 변경의 결과로 화면 상단에 저장 완료 메시지가 출력된다. 'Use MEJB', 'Log Stdout To Raw Format' 설정이 변경되고 서버에 반영된 것을 확인할 수 있다.
다음은 콘솔 툴 사용 동적 변경 가능한 기본 설정을 변경하는 예이다.
[MASTER]domain1.adminServer>modify-server server2 Shows the current configuration. server (server2) ================================================================================ +-----------------------------------+------------------------------------------+ | Node | node1 | | JVM Configs | -Xmx512m -XX:MaxPermSize=128m | | Action On Resource Leak | WARNING | | Stdout to Raw Format | true | | MEJB | false | | Class FTP | false | | Server Log Home Directory | none | +-----------------------------------+------------------------------------------+ ================================================================================ [MASTER]domain1.adminServer>modify-server server2 -logStdoutToRawFormat false -mejb true -classFtp true Successfully performed the MODIFY operation for server (server2). Check the results using "list-servers server2 or modify-server server2" [MASTER]domain1.adminServer>modify-server server2 Shows the current configuration. server (server2) ================================================================================ +-----------------------------------+------------------------------------------+ | Node | node1 | | JVM Configs | -Xmx512m -XX:MaxPermSize=128m | | Action On Resource Leak | WARNING | | Stdout to Raw Format | false | | MEJB | true | | Class FTP | true | | Server Log Home Directory | none | +-----------------------------------+------------------------------------------+ ================================================================================
Action On Resource Leak은 서버에서 사용되는 리스소가 닫혔는지 여부를 확인해서 설정한 동작을 수행하고 사용자에게 Resource Leak이 있다는 것을 알려주는 기능이다. 서버에서 이런 역할을 담당하는 것을 Invocation Manager라고 한다.
Invocation Manager는 서버에서 Servlet/JSP, EJB Stateless Session Bean, 그리고 MDB와 같은 Stateless 메소드를 호출하는 동안 사용하는 외부 리소스(external resource)인 JDBC Connection과 WebT Connection을 추적하여 Connection이 닫히지 않은 경우 모드에 따라 사용하는 리소스에 대해 logging을 남기거나 반환하는 작업을 한다. 이 구성요소를 위해 3가지 모드 중 하나를 선택할 수 있다.
모드 | 설명 |
---|---|
NoAction | 반환되지 않은 리소스가 있더라도 아무런 동작을 하지 않는다. |
Warning | 컴포넌트 호출 후에 반환되지 않은 리소스에 대한 로그를 남긴다 (기본값). 추가적으로 SMTP Handler 설정을 통해 이메일 안내를 받도록 할 수 있다. |
AutoClose | 컴포넌트 호출 후에 반환되지 않은 리소스에 대한 로그를 남기고 이를 닫아준다. 추가적으로 SMTP Handler 설정을 통해 이메일 안내를 받도록 할 수 있다. |
Action On Resource Leak 설정을 Warning 또는 AutoClose로 한 경우 서버 설정 중에 SMTP Handler 설정을 함으로써 이메일 안내를 받을 수 있다. 기본적으로 제공되는 jeus logger를 사용 중이라면 해당 logger에 SMTP Handler만 추가하면 된다.
다음은 WebAdmin을 통해 SMTP Handler를 추가해서 Action On Resource Leak을 설정하는 예이다.
WebAdmin의 메인 화면에서 jeus_master 노드를 클릭하면 도메인 관리 콘솔 화면이 나타난다.
콘솔 화면에서 [서버] 항목을 선택하면 도메인 내에 존재하는 서버 리스트를 볼 수 있다. 서버(server1)를 선택해서 서버 설정 화면으로 이동한다.
설정 화면에서 [Basic] > [System Logging] 항목을 선택하고, System Logging 목록에서 jeus를 클릭한다.
고급 선택사항 아래에 있는 [추가] 버튼을 클릭한다.
추가 가능한 Handler로 File Handler, Smtp Handler, Socket Handler, User Handler가 나타나는데, 이 중에서 SMTP Handler 를 선택하고 설정 정보를 입력한다.
다음은 설정 항목에 대한 설명이다.
항목 | 설명 |
---|---|
Name | Handler의 이름을 설정한다. Handler의 이름은 logger 내에서 유일해야 한다. |
Level | Handler의 레벨을 설정한다. Logger의 레벨 설정으로 찍히는 로그 중에 이메일 안내를 보낼 로그의 레벨을 설정한다. |
Smtp Host Address | 이메일을 보낼 SMTP 서버의 주소를 설정한다. 단, SMTP 호스트는 SSL 프로토콜을 사용하지 않는 서버여야 한다. |
From Address | 이메일 송신자의 메일 주소를 설정한다. |
Sender Id | SMTP 서버에 등록된 메일 송신자 id를 설정한다. |
Sender Password | SMTP 서버에 등록된 메일 송신자 password를 설정한다. |
To Address | 이메일 수신자의 메일 주소를 설정한다. |
Property | SMTP 메일 서버에 전달할 property를 설정한다. |
Send For All Messages |
|
설정 정보를 반영하려면 [추가] 버튼을 클릭하면 Handler 목록에 새로운 Smtp Handler가 추가되고, 서버의 Action On Resource Leak 설정이 변경된 것을 확인할 수 있다. 운영 중인 서버의 Action On Resource Leak 설정을 변경한 경우 설정을 적용하려면 서버를 재기동해야 한다.
다음은 콘솔 툴의 modify-server 명령어를 통해 Action On Resource Leak을 변경하는 예이다.
서버를 부팅하기 전에 modify-server 명령어를 통해 현재 설정을 변경할 서버의 설정을 조회한다.
[MASTER]domain1.adminServer>modify-server server2
Shows the current configuration.
server (server2)
================================================================================
+-----------------------------------+------------------------------------------+
| Node | node1 |
| JVM Configs | -Xmx512m -XX:MaxPermSize=128m |
| Action On Resource Leak | WARNING |
| Stdout to Raw Format | false |
| MEJB | true |
| Class FTP | true |
| Server Log Home Directory | none |
+-----------------------------------+------------------------------------------+
================================================================================
server2의 Action On Resource Leak 설정을 AutoClose로 설정한다.
[MASTER]domain1.adminServer>modify-server server2 -actionOnResourceLeak AutoClose
Successfully performed the MODIFY operation for server (server2).
Check the results using "list-servers server2 or modify-server server2".
동적 반영이 되지 않는 옵션들의 경우는 서버를 부팅하기 전에 변경해야 한다. 운영 중인 서버에 이런 설정을 수정하게 되면 동적으로 반영되지 않기 때문에 서버를 재기동해야 한다.
modify-server 또는 list-servers 명령어를 통해 변경한 설정이 잘 반영되었는지를 확인한다.
[MASTER]domain1.adminServer>modify-server server2
Shows the current configuration.
server (server2)
================================================================================
+-----------------------------------+------------------------------------------+
| Node | node1 |
| JVM Configs | -Xmx512m -XX:MaxPermSize=128m |
| Action On Resource Leak | AUTO_CLOSE |
| Stdout to Raw Format | false |
| MEJB | true |
| Class FTP | true |
| Server Log Home Directory | none |
+-----------------------------------+------------------------------------------+
================================================================================
'server2'의 Action On Resource Leak 설정을 다시 원래 값인 WARNING으로 변경한다.
이 설정은 서버가 운영 중이기 때문에 설정 변경만 되고 실제로 서버에 적용되지는 않는다. 변경한 설정이 적용되길 원한다면 서버를 재기동해야 한다.
[MASTER]domain1.adminServer>modify-server server2 -actionOnResourceLeak Warning
Successfully performed the MODIFY operation for server (server2), but all changes were non-dynamic. They will be applied after restarting.
Check the results using "list-servers server2 or modify-server server2".
modify-server 또는 list-servers 명령어를 통해 변경한 설정을 확인한다.
[MASTER]domain1.adminServer>modify-server server2
Shows the current configuration.
server (server2)
================================================================================
+-----------------------------------+------------------------------------------+
| Node | node1 |
| JVM Configs | -Xmx512m -XX:MaxPermSize=128m |
| Action On Resource Leak | WARNING |
| Stdout to Raw Format | false |
| MEJB | true |
| Class FTP | true |
| Server Log Home Directory | none |
+-----------------------------------+------------------------------------------+
================================================================================
위에서 사용한 콘솔 툴 명령어에 대한 자세한 설명은 “JEUS Reference 안내서”의 “4.2.3. Server Management 관련 명령어”에서 해당 명령어에 대한 내용을 참고한다.
Jvm Config는 서버를 실행하기 위해 개별적인 JVM에 추가할 파라미터들을 선언하는 데 사용된다. 여기에 설정한 값들을 Launcher 프로세스에서 서버를 시작하기 전에 이 값을 읽어서 서버 JVM을 생성할 때 파라미터로 추가한다. 지정 가능한 JEUS 파라미터들의 목록은 “JEUS Reference 안내서”의 “1.2. 서버 시스템 프로퍼티”를 참고한다. 표준 JVM 파라미터들도 설정 가능하다.
서버에 적용할 JVM 옵션, 시스템 프로퍼티와 더불어 JEUS에서 제공하는 시스템 프로퍼티도 여기에 설정할 수 있다. 주로 JVM 메모리나 옵션들을 설정하는데, 이는 서버의 운영 환경에 맞는 적절한 값을 설정해야 한다. JVM Config 관련 추가적인 설명은 “JEUS Domain 안내서”의 “3.6.2. 서버의 JVM 설정변경”을 참고한다.
서버가 운영 중일 때는 이 값을 변경해도 반영되지 않는다. 동적 설정 반영의 대상이 아니기 때문에 운영 중인 서버에 이 값을 변경한 경우에는 서버를 재기동해야 적용된다.
다음은 WebAdmin을 통해 Jvm Config를 설정하는 과정에 대한 설명이다.
WebAdmin의 메인 화면에서 jeus_master 노드 > 서버를 선택하면 서버 목록 화면이 나타난다. 서버 목록에서 설정 정보를 변경할 서버(server1)를 선택하면 서버 설정 화면이 나타난다. 설정 화면에서 [Basic] > [Basic Info] 탭을 선택한다.
[수정] 버튼을 클릭한 후 , 'Jvm Option' 항목의 설정을 변경하고 [저장] 버튼을 클릭하면 변경한 설정 내용이 저장되고, 저장 완료 메시지가 나타난다.
서버 설정 화면에서 서버의 JVM 설정이 변경된 것을 확인할 수 있다. 운영 중인 서버의 Jvm Config를 변경했다면 서버를 재기동해야 변경한 JVM 설정이 적용된다.
콘솔 툴의 modify-server, add-jvm-option, modify-jvm-option, remove-jvm-option을 이용하여 서버의 JVM 설정을 변경할 수 있다. 명령에 대한 자세한 설명은 “JEUS Domain 안내서”의 “3.6.2. 서버의 JVM 설정변경”, “JEUS Reference 안내서”의 “4.2.3. Server Management 관련 명령어”를 참고한다.
다음은 콘솔 툴의 modify-server 명령어를 통해 서버의 JVM 설정을 변경하는 예이다.
서버를 부팅하기 전에 modify-server 명령어를 통해 현재 설정을 변경할 서버의 설정을 조회한다.
[MASTER]domain1.adminServer>modify-server server1
Shows the current configuration.
server (server1)
=====================================================================
+---------------------------------------------------------+---------+
| Node | node1 |
| Action On Resource Leak | WARNING |
| Stdout to Raw Format | true |
| MEJB | false |
| Class FTP | false |
| Server Log Home Directory | none |
+---------------------------------------------------------+---------+
=====================================================================
server1에 JVM 옵션을 추가한다. JVM의 최대 Heap 메모리를 512MB로 설정하고, 최대 Permanent 메모리를 128MB로 설정한다.
[MASTER]domain1.adminServer>modify-server server1 -jvmOptions "-Xmx512m -XX:MaxPermSize=128m"
Successfully performed the MODIFY operation for server (server1).
Check the results using "list-servers server1 or modify-server server1".
동적 반영이 되지 않는 옵션들의 경우는 서버를 부팅하기 전에 변경해야 한다. 운영 중인 서버의 설정 정보를 변경하면 동적으로 반영되지 않기 때문에 서버를 재기동해야 한다.
modify-server 또는 list-servers 명령어를 통해 변경한 설정의 정상 반영을 확인한다.
[MASTER]domain1.adminServer>modify-server server1
Shows the current configuration.
server (server1)
================================================================================
+-----------------------------------+------------------------------------------+
| Node | node1 |
| JVM Configs | -Xmx512m -XX:MaxPermSize=128m |
| Action On Resource Leak | WARNING |
| Stdout to Raw Format | true |
| MEJB | false |
| Class FTP | false |
| Server Log Home Directory | none |
+-----------------------------------+------------------------------------------+
================================================================================
'server1'에 JVM 옵션을 추가한다.
서버에 OutOfMemoryError가 발생한 경우 Heap Dump 파일을 남기는 옵션을 추가하였다. 이 설정은 서버가 운영 중이기 때문에 설정 변경만 되고 실제로 서버에 반영되지는 않는다. 변경한 설정이 반영되길 원한다면 서버를 재기동해야 한다.
[MASTER]domain1.adminServer>modify-server server1 -jvmOptions "-XX:+HeapDumpOnOutOfMemoryError"
Successfully performed the MODIFY operation for server (server1).
Check the results using "list-servers server1 or modify-server server1".
modify-server 또는 list-servers 명령어를 통해 변경한 설정을 확인한다.
[MASTER]domain1.adminServer>modify-server server1
Shows the current configuration.
server (server1)
================================================================================
+---------------------------+--------------------------------------------------+
| Node | node1 |
+---------------------------+--------------------------------------------------+
| JVM Configs | -Xmx512m -XX:MaxPermSize=128m, |
| |-XX:+HeapDumpOnOutOfMemoryError |
+---------------------------+--------------------------------------------------+
| Action On Resource Leak | WARNING |
+---------------------------+--------------------------------------------------+
| Stdout to Raw Format | true |
+---------------------------+--------------------------------------------------+
| MEJB | false |
+---------------------------+--------------------------------------------------+
| Class FTP | false |
+---------------------------+--------------------------------------------------+
| Server Log Home Directory | none |
+---------------------------+--------------------------------------------------+
================================================================================
본 절에는 서버에 부가적인 클래스 패스를 추가하는 방법에 대해 설명한다. 서버에 클래스 패스를 추가하는 설정은 WebAdmin을 통해서만 가능하다.
서버가 운영 중일 때는 이 값을 변경해도 반영되지 않는다. 동적 설정 반영의 대상이 아니기 때문에 운영 중인 서버에 이 값을 변경한 경우에는 서버를 재기동해야 적용된다.
다음은 WebAdmin을 통해 서버에 클래스 패스를 추가하는 설정들을 변경하는 예이다.
WebAdmin의 메인 화면에서 jeus_master 노드를 클릭하면 도메인 관리 콘솔 화면이 나타난다.
콘솔 화면에서 [서버] 항목을 선택하면 도메인 내에 존재하는 서버 리스트가 나타난다. 서버(server1)를 선택해서 서버 설정 화면으로 이동한다.
설정 화면에서[Basic] > [Basic Info] 항목을 선택하고 [수정] 버튼을 클릭한다.
'고급 선택사항'에서 User Interceptor의 하위 항목에 원하는 클래스 패스를 추가한다. 설정이 완료되면 [저장] 버튼을 클릭한다.
운영 중인 서버의 User Interceptor 설정을 변경한 경우 서버를 재기동해야 변경한 설정이 반영된다.
본 절에서는 서버에서 사용하는 네트워크 Listener 설정에 대해서 설명한다.
네트워크 Listener는 서버에서 수행되는 시스템 서비스들이나 각종 엔진에서 참조하여 그 설정을 사용하기 위한 것이다. 이 Listener는 포트 통합 서비스가 적용되어 있기 때문에 각자 다른 서비스나 엔진에서 하나의 Listener를 공유해서 사용하도록 설정할 수도 있다. 극단적인 예로는 기본 Listener 하나만을 열어두고 모든 서비스를 해당 Listener를 통해서 서비스하는 것도 가능하다.
서버가 운영 중일 때 이 값을 변경하려고 하면 반영되지 않는다. 동적 설정 반영의 대상이 아니기 때문에 운영 중인 서버에 이 값을 변경한 경우에는 서버를 재기동해야 적용된다.
다음은 WebAdmin에서 기본 Listener를 설정하는 방법이다. 기본 Listener는 설정된 Listener 중의 하나를 선택하게 되며, JEUS의 가장 기본적인 시스템 서비스 및 Webadmin 등이 이 Listener를 사용하게 된다.
새로운 Listener를 추가하기 위해서는 WebAdmin의 메인 화면에서 jeus_master > 서버를 선택하고, 서버 목록 화면에서 서버(server1)를 선택해서 서버 설정 화면으로 이동한다.
해당 화면에서 [Resource > Listener] 탭을 선택하고, [+추가] 버튼을 클릭한 후 Listener 설정을 입력한다. 개별 Listener의 기본적인 설정은 다른 시스템 서비스나 엔진에서 참조할 이름을 반드시 설정하며, 다른 Listener와 중복되지 않도록 포트 번호를 설정한다. 항목에 대한 설명은 [설명 보기] 버튼을 클릭해서 확인한다.
본 절에서는 서버에서 사용하는 공용 Thread Pool에 대한 설정을 설명한다.
서버에서 사용되는 서비스들이 전용 Thread Pool을 별도로 설정해서 사용하지 않는다면 모두 이 공용 Thread Pool을 사용한다. 공용 Thread Pool을 사용하는 서비스는 트랜잭션 서비스와 JNDI 서비스, 스케줄러 서비스가 있다. 이 서비스들은 설정에 따라 공용 Thread Pool을 사용할 수도 있고, 전용 Thread Pool을 사용할 수도 있다. 공용 Thread Pool을 사용한다면 서비스에서 사용할 최소 Thread 개수를 미리 할당해 놓을 수 있다.
애플리케이션의 요청을 처리하는 엔진에서는 공용 Thread Pool을 사용하지 않는다. 서비스에서 전용 Thread Pool을 사용하는 방법에 대한 설명은 “제4장 JNDI Naming Server”와 “제7장 트랜잭션 매니저”와 "JEUS Scheduler 안내서"를 참고한다.
다음은 WebAdmin에서 Thread Pool을 설정하는 방법에 대한 설명이다.
WebAdmin의 메인 화면에서 jeus_master 노드를 클릭하면 도메인 관리 콘솔 화면이 나타난다.
콘솔 화면에서 [서버] 항목을 선택하면 도메인 내에 존재하는 서버 리스트를 볼 수 있다. 서버(server1)를 선택해서 서버 설정 화면으로 이동한다.
설정 화면에서 [Basic] > [System Thread Pool] 항목을 선택하고 [수정] 버튼을 클릭한다.
Thread Pool의 'Max'와 'Keep Alive Time'을 변경하고 [저장] 버튼을 클릭한다.
다음은 설정 항목에 대한 설명이다.
기본 설정
항목 | 설명 |
---|---|
Min | Thread Pool에서 관리하는 Thread의 최소 개수를 의미한다. 필요할 때 Thread를 생성한다. (기본값: 0) |
Max | Thread Pool에서 관리하는 Thread의 최대 개수를 의미한다. (기본값: 100) |
고급 선택사항
항목 | 설명 |
---|---|
Keep Alive Time | Thread Pool에서 사용하지 않는 Thread를 자동으로 정리할 시간을 설정한다. Min으로 설정한 값 이상의 Thread가 설정된 시간 동안 사용되지 않을 경우 자동으로 Thread Pool에서 삭제한다. 공용 Thread Pool의 경우 기본값은 5분이다. (단위: ms) |
Queue size | Thread Pool이 처리하는 일(work)을 저장하는 큐의 크기를 지정한다. (기본값: 4096개) |
Stuck Thread Handling
Thread가 일정시간 이상 계속 점유된 상태일 경우 해당 Thread에 대해서 특정 액션을 하기 위한 설정이다.
항목 | 설명 |
---|---|
Max Stuck Thread Time | Thread가 점유되었다고 판단하는 기준이 되는 설정이다. 설정한 시간 이상으로 점유된 상태이면 해당 Thread를 Stuck Thread로 간주한다. (기본값: 1시간, 단위: ms) |
Action On Stuck Thread | 점유되었다고 판단된 Thread에 대한 액션을 설정한다. 공용 Thread Pool의 기본값은 IgnoreAndReplace이고 다음에 나열한 값들을 설정할 수 있다.
|
Stuck Thread Check Period | Thread가 Stuck 상태가 되었는지 체크하는 주기를 설정한다. (기본값: 5분, 단위: ms) |
본 절에서는 콘솔 툴로 공용 Thread Pool을 조회하고 변경하는 예제를 설명한다.
예제에서 사용한 명령어들에 대한 자세한 설명은 “JEUS Reference 안내서”의 “4.2.5. Thread Management 관련 명령어”를 참고한다. 서비스들에서 사용하는 Thread Pool에 대한 설정은 각 서비스의 매뉴얼을 참고한다.
다음은 Thread Pool의 max를 100에서 200으로 변경하고 keep alive time을 5분에서 10분으로 변경하는 예제이다.
[MASTER]domain1.adminServer>show-system-thread-pool server1 Shows the current configuration. the system thread pool of the server (server1) ================================================================================ +---------------------------------------------------------+--------------------+ | Min | 0 | | Max | 100 | | Keep-Alive Time | 300000 | | Queue Size | 4096 | | Max Stuck Thread Time | 3600000 | | Action On Stuck Thread | IGNORE_AND_REPLACE | | Stuck Thread Check Period | 300000 | | Reserved Threads for the Service transaction | 0 | | Reserved Threads for the Service namingserver | 0 | +---------------------------------------------------------+--------------------+ ================================================================================ [MASTER]domain1.adminServer>modify-system-thread-pool server1 -max 200 -keep 600000 Successfully performed the MODIFY operation for the system thread pool of the server (server1), but all changes were non-dynamic. They will be applied after restarting. Check the results using "modify-system-thread-pool server1 or show-system-thread-pool server1". [MASTER]domain1.adminServer>show-system-thread-pool server1 Shows the current configuration. the system thread pool of the server (server1) ================================================================================ +---------------------------------------------------------+--------------------+ | Min | 0 | | Max | 200 | | Keep-Alive Time | 600000 | | Queue Size | 4096 | | Max Stuck Thread Time | 3600000 | | Action On Stuck Thread | IGNORE_AND_REPLACE | | Stuck Thread Check Period | 300000 | | Reserved Threads for the Service transaction | 0 | | Reserved Threads for the Service namingserver | 0 | +---------------------------------------------------------+--------------------+ ================================================================================
다음은 JNDI 서비스에서 공용 Thread Pool에서 Thread를 미리 할당하도록 설정하는 예제이다.
[MASTER]domain1.adminServer>show-system-thread-pool server1 Shows the current configuration. the system thread pool of the server (server1) ================================================================================ +---------------------------------------------------------+--------------------+ | Min | 0 | | Max | 200 | | Keep-Alive Time | 600000 | | Queue Size | 4096 | | Max Stuck Thread Time | 3600000 | | Action On Stuck Thread | IGNORE_AND_REPLACE | | Stuck Thread Check Period | 300000 | | Reserved Threads for the Service transaction | 0 | | Reserved Threads for the Service namingserver | 0 | +---------------------------------------------------------+--------------------+ ================================================================================ [MASTER]domain1.adminServer>modify-system-thread-pool server1 -service namingserver -r 10 Successfully performed the MODIFY operation for The namingserver thread pool of the server (server1)., but all changes were non-dynamic. They will be applied after restarting. Check the results using "show-system-thread-pool server1 -service namingserver or modify-system-thread-pool server1 -service namingserver". [MASTER]domain1.adminServer>show-system-thread-pool server1 -service namingserver Shows the current configuration. the system thread pool of the server (server1) ================================================================================ +---------------------------------------------------------+--------------------+ | Min | 0 | | Max | 200 | | Keep-Alive Time | 600000 | | Queue Size | 4096 | | Max Stuck Thread Time | 3600000 | | Action On Stuck Thread | IGNORE_AND_REPLACE | | Stuck Thread Check Period | 300000 | | Reserved Threads for the Service transaction | 0 | | Reserved Threads for the Service namingserver | 10 | +---------------------------------------------------------+--------------------+ ================================================================================ [MASTER]domain1.adminServer>modify-system-thread-pool server1 -service namingserver Shows the current configuration. The namingserver thread pool of the server (server1). ================================================================================ +----------------------------------------------------------------------+-------+ | Reserved Threads for the Service namingserver | 10 | +----------------------------------------------------------------------+-------+ ================================================================================
JEUS에서는 서버의 Lifecycle에 맞게 사용자가 원하는 작업을 할 수 있도록 Lifecycle Invocation 기능을 제공하고 있다. 서버는 부팅, 다운 과정에서 각 단계에 사용자가 설정한 이벤트를 호출해준다.
서버가 운영 중일 때 class name을 변경하려고 하면 반영되지 않는다. class name 은 동적 설정 반영의 대상이 아니기 때문에 운영 중인 서버에 이 값을 변경한 경우에는 서버를 재기동해야 적용된다. 그 외의 Invocation 설정은 동적반영된다.
다음은 Lifecycle Invocation에 등록하는 클래스는 일반 Java 클래스 예제이다. 이 클래스를 jar로 패키징 하여 서버의 Lifecycle에 맞게 호출하고 싶은 대상 서버의 SERVER_HOME/lib/application에 위치시킨다.
[예 2.1] Lifecycle Invocation에 등록하는 클래스 : <<LifeCycleTester.java>>
package lifecycle; public class LifeCycleTester { public void boot() { System.out.println("Boot"); // do somethig } public void beforeDeploy() { System.out.println("Before Deploy"); // do somethig } public void afterDeploy() { System.out.println("After Deploy"); // do somethig } public void ready() { System.out.println("Ready"); // do somethig try { System.out.println("Sleeping for 15 seconds ...."); Thread.sleep(15000L); } catch (Exception e) { //ignored } } public void beforeUndeploy() { System.out.println("Before Undeploy"); // do somethig } public void afterUndeploy() { System.out.println("After Undeploy"); // do somethig } }
다음은 위의 예제를 이용해서 WebAdmin을 통해 서버의 Lifecycle Invocation 클래스로 설정하는 과정에 대한 설명이다.
WebAdmin의 메인 화면에서 jeus_master 노드를 클릭하면 도메인 관리 콘솔 화면이 나타난다.
콘솔 화면에서 [서버] 항목을 선택하면 도메인 내에 존재하는 서버 리스트를 볼 수 있다. 서버(adminServer)를 선택해서 서버 설정 화면으로 이동한다.
설정 화면에서 [Resource > Lifecycle Invocation] 항목을 선택하고, Lifecycle Invocation을 추가하기 위해 [+추가] 버튼을 클릭한다.
Lifecycle Invocation 클래스의 'Class Name'을 'test.lifecycle.invocation.LifeCycleInvocation'으로 설정한 뒤, boot 메소드가 BOOT 시점에 호출되도록 'Invocation Type'을 BOOT로, 'Invocation Method' 항목의 'Method Name'을 'boot'로 지정한 후 [추가] 버튼을 클릭한다.
다음은 Invocation 설정 항목에 대한 설명이다.
Lifecycle Invocation 목록에 추가한 Lifecycle Invocation 클래스가 조회된다. Lifecycle Invocation 클래스를 눌러 진입하면 Library Ref와 Invocation에 대한 설정을 할 수 있다.
사용할 라이브러리를 설정해보도록 한다. Lifecycle Invocation 타입에 맞게 수행할 메서드를 추가하기 위해 Library Ref 항목의 [+추가] 버튼을 클릭한다.
Library Ref 추가에서는 클래스에서 참조하는 라이브러리에 대한 레퍼런스 설정을 입력한다. 여기에 설정한 라이브러리는 lib/shared에 있어야 한다. Shared Library에 대한 자세한 설명은 “JEUS Applications & Deployment 안내서”의 “3.3.2. 공유 라이브러리”를 참고한다.
항목 | 설명 |
---|---|
Library Name | 사용할 라이브러리 이름을 지정한다. |
Specification Version | 설정한 라이브러의 스펙 버전을 지정한다. |
Implementation Version | 설정한 라이브러의 구현 버전을 지정한다. |
메서드가 호출되는 시점에 따라 Lifecycle Invocation 메서드를 추가로 설정할 수 있다.
운영 중인 서버의 Lifecycle Invocation 설정을 변경한 경우 위와 같이 설정 변경은 성공했으나 변경한 Lifecycle Invocation 설정을 서버에 적용할 수 없다는 메시지를 확인할 수 있다. 이 경우 변경한 Lifecycle Invocation 설정을 적용하고 싶다면 서버를 재기동해야 한다.
콘솔 툴을 이용하여 Lifecycle Invocation을 추가할 수 있다. add-lifecycle-invocation 명령어를 통해 서버의 Lifecycle Invocation을 추가하고, add-invocation-library 명령어 및 add-invocation 명령어를 통해 Library Ref 및 Invocation을 추가할 수 있다. 이에 대한 자세한 설명은 “JEUS Reference 안내서”의 “4.2.3.7. add-lifecycle-invocation”, “JEUS Reference 안내서”의 “4.2.3.5. add-invocation-library”, “JEUS Reference 안내서”의 “4.2.3.4. add-invocation”을 참고한다.
[MASTER]domain1.adminServer>add-lifecycle-invocation lifecycle.LifeCycleTester -s adminServer -m boot -type BOOT Successfully performed the ADD operation for Lifecycle Invocation Class [lifecycle.LifeCycleTester] and Invocation [boot](Invocation ID = 0), but all changes were non-dynamic. They will be applied after restarting. Check the results using "list-lifecycle-invocations". [MASTER]domain1.adminServer>list-lifecycle-invocations List of Lifecycle invocations ================================================================================ +---------------+-------------------------------+-----------------+------------+ | Target | Lifecycle Invocation Class | Invocation | Invocation | | | | Library Ref | | +---------------+-------------------------------+-----------------+------------+ | [Server]admin | test.lifecycle.invocation.Lif | lib1 | [1]boot | |Server |eCycleInvocation | | | +---------------+-------------------------------+-----------------+------------+ | [Server]admin | lifecycle.LifeCycleTester | | [0]boot | |Server | | | | +---------------+-------------------------------+-----------------+------------+ ================================================================================ Use the "lifecycle-invocation-info" command for more information about Lifecycle invocation.
서버의 애플리케이션에서 공통으로 사용할 리소스에 대한 매핑 정보를 설정한다.
애플리케이션에서 사용하는 리소스는 해당 애플리케이션이 서비스되는 서버의 JNDI 저장소에 이름이 등록된다. 리소스 매핑을 설정하면 등록되는 이름에 상관없이 애플리케이션에서는 항상 같은 이름의 리소스를 Lookup해서 사용할 수 있다.
서버가 클러스터에 포함되어 있는 경우에는 Resource Reference 설정은 클러스터에 설정된 값이 우선 적용된다.
다음은 WebAdmin에서 Resource Reference를 설정하는 과정에 대한 설명이다.
WebAdmin의 서버 목록 화면에서 서버를 선택하면 서버 설정 화면이 나타난다. 설정 화면에서 [Basic] 탭을 선택하고 [Res Ref] 탭을 선택하면 Res Ref 목록이 나타난다.
Resource Reference를 추가하기 위해 Resource Reference 설정 화면의 [+추가] 버튼을 클릭한다.
소스코드에서 참조할 수 있는 이름인 'Ref Name'으로 jdbc/DB1을 입력하고, 실제 JEUS DD에 바인딩되어 있는 JNDI 이름인 'Export Name'으로 db1를 입력한다.
항목 | 설명 |
---|---|
Ref Name | 리소스를 매핑하는 레퍼런스 이름을 설정한다. 여기에 설정한 이름이 애플리케이션에서 Lookup할 때 사용될 이름이다. |
Export Name | 실제 리소스가 서버에 바인딩되어 있는 이름을 지정한다. 실제 리소스가 서버의 JNDI 저장소에 등록된 JNDI 이름이다. |
[추가] 버튼을 클릭하면 화면에 저장 완료 결과 메시지가 나타나고, Res Ref 목록에 신규 리소스 매핑 정보가 추가된 것을 볼 수 있다.
클러스터를 생성할 때에 사용할 서버들의 공통적인 설정들을 서버 템플릿으로 저장해 둘 수 있다. 이를 이용하여 클러스터 생성 시에 공통 설정을 가지는 다수의 서버를 자동으로 생성할 수 있어서 간단하게 서버 클러스터 환경을 구성할 수 있다.
서버 템플릿의 설정은 WebAdmin 혹은 콘솔에서 추가할 수 있다.
WebAdmin의 메인 화면에서 jeus_master 노드를 클릭하면 나타나는 콘솔 화면에서 서버템플릿 탭을 누르고 [+추가] 버튼을 클릭하면 서버 템플릿을 추가할 수 있는 설정 화면이 나타난다.
서버 템플릿의 추가는 많은 부분이 서버 추가와 동일하다. 서버 추가와는 달리 실제 서버가 생성되지 않고, 서버 설정을 담은 서버 템플릿만이 추가된다. 이를 이용하여 차후에 서버 클러스터 환경을 구성할 때에 동일한 설정을 가진 서버들을 일괄 생성할 수 있다.
기본적인 설정은 위에서 설명한 서버를 생성할 때 설정과 동일하다. 서버 템플릿을 이용한 클러스터 설정에 대해서는 을 참고한다.
콘솔 툴을 이용하여 서버 템플릿을 추가할 수 있다. add-server-template 명령어를 통해 서버 템플릿을 추가하고, 각종 옵션을 주어 세부 항목을 설정한다. add-server-template에 대한 자세한 설명은 “JEUS Reference 안내서”의 “4.2.4.9. add-server-template”을 참고한다.
[MASTER]domain1.adminServer>add-server-template template1 -m true Successfully performed the ADD operation for server template (template1). NOTICE : base-addr [0.0.0.0] base-port [9736] http-port [8088] Check the results using "list-servers or show-server-template or add-server-template". [MASTER]domain1.adminServer>show-server-template Shows the current configuration. Server template list ============================================================= +-----------------------------------------------+-----------+ | server templates | template1 | +-----------------------------------------------+-----------+ =============================================================