Liberty 탄력성을 위해 프로비저닝 가능 클러스터 구성
Liberty 탄력성을 지원하도록 집합체를 구성할 수 있습니다. Liberty 탄력성으로, 스케일링 제어기는 등록된 호스트에 Liberty 소프트웨어를 설치하고 새 서버를 작성할 수 있습니다. 또한 Liberty 탄력성에 대한 지원에 JVM 탄력성에 대한 지원이 포함되므로 스케일링 제어기는 자원 사용과 선택적 스케일링 정책을 기반으로 Liberty 서버를 시작하거나 중지할 수 있습니다. 애플리케이션 수요가 높으면 사용 가능한 서버의 수가 늘어나고 애플리케이션 수요가 낮으면 수가 줄어듭니다.
시작하기 전에
Liberty 소프트웨어가 설치될 대상 호스트 및 설치할 Liberty 소프트웨어를 판별하십시오. 최소한 스케일링 제어기가 대상 호스트에 다음의 설치 파일 및 패키지 파일을 설치하기를 원합니다.
- 독립형 Liberty 서버에 하나의 애플리케이션을 제공하는 패키지. 5c단계에서는 서버 패키지 작성 방법을 설명합니다.
- wlp 디렉토리는 포함하지만 usr 디렉토리는 포함하지 않는 Liberty 서버를 제공하는 설치 파일. 5a단계에서는 Liberty 런타임 아카이브 설치 파일을 작성하는 방법을 설명합니다.
각 대상 호스트에는 Liberty 서버의 최소 요구사항을 충족하는 RXA 또는 SSH 및 JRE(Java Runtime Environment)가 설치되어야 합니다. Liberty 집합체 조작에 대한 RXA 설정 및 Liberty 집합체 멤버 및 제어기에 대한 JAVA_HOME 변수 설정의 내용을 참조하십시오.
대상 호스트에 JRE에 대한 경로를 제공하는 JAVA_HOME 변수 및 시스템 PATH 변수로 JRE가 설치되지 않으면, 스케일링 제어기가 대상 호스트에 JRE를 설치할 수 있습니다. 5b단계에서는 JRE 아카이브, 설치 파일 작성 방법을 설명합니다.
시청: Liberty
탄력성을 위해 자동 스케일링 가능 클러스터 구성 비디오는 프로비저닝 가능
클러스터를 구성하는 방법을 보여줍니다. [내용]
프로시저
- JVM(Java Virtual Machine) 탄력성을 지원하도록 집합체를 구성하십시오. 집합체에 하나 이상의
동적 클러스터 멤버가 있는지 확인하십시오.
동적 클러스터 멤버의 스케일링 제어기 구성에 대한 세부사항은 JVM 탄력성을 위한 자동 스케일링 가능 클러스터 구성의 내용을 참조하십시오.
- 각 기존 동적 클러스터 멤버가 StackGroupName.PackageName 이름 지정 규칙으로
이름이 지정된 클러스터에 속하는지 확인하십시오.
스케일링 제어기가 프로비저닝할 기존 동적 클러스터 멤버 및 서버는 이 클러스터의 멤버입니다. StackGroupName은 스케일링 제어기가 스케일링 정책을 기반으로 대상 호스트에 프로비저닝할 설치 파일 및 패키지를 보유할 공유 디렉토리의 이름입니다. PackageName은 스케일링 제어기가 대상 호스트에 프로비저닝할 서버 패키지의 이름입니다.
클러스터 myStackGroup.cluster1의 경우, 다음 명령문을 기존 동적 클러스터 멤버 각각의 server.xml 파일에 입력하십시오.
<clusterMember name="myStackGroup.cluster1"/>
이 주제의 5c단계 및 7단계에서 클러스터 이름을 사용합니다. 5c단계에서 서버 패키지 이름에 cluster1.zip을 사용하십시오. 7단계에서는 배치할 설치 파일 및 패키지의 myStackGroup 디렉토리를 작성하십시오.
- 옵션: 스케일링 제어기에 스케일링 정책을 추가하십시오. 스케일링 정책 정의를 참조하십시오.
- 스케일링 제어기에 각 대상 호스트를 등록하십시오.
호스트를 등록하면 스케일링 제어기가 호스트의 파일, 명령, 기타 자원에 액세스할 수 있을 뿐만 아니라 해당 호스트에 파일을 전송할 수 있습니다. registerHost 명령을 사용하여 대상 호스트를 등록하십시오. 스케일링 제어기의 server.xml 파일에서 --host, --port, --user, --password 매개변수에 대한 값을 찾으십시오. Linux 또는 Windows 운영 체제의 대상 호스트의 경우와 같이 SSH 개인 키 파일을 사용하지 않으려면 --rpcUser 및 --rpcUserPassword 매개변수를 설정하여 운영 체제 로그인 사용자 및 비밀번호를 포함하십시오. --rpcUser에 지정된 사용자에게 대상 배치 위치에 대한 운영 체제 권한이 있어야 합니다.
wlp/bin/collective registerHost targetHost --host=controllerHost --port=controllerHTTPSPort --user=controllerAdmin --password=controllerAdminPassword --rpcUser=osUser --rpcUserPassword=osUserPassword
대상 호스트에 파일을 전송하기 위해 명령에 --hostWritePath 매개변수를 포함하지 않아도 됩니다. 스택 프로비저닝 코드 세트가 경로를 작성합니다. 호스트가 이미 등록된 경우에는 updateHost 명령을 사용하여 등록 정보를 재설정할 수 있습니다. 추가 정보는 Liberty 집합체에 호스트 컴퓨터 등록의 내용을 참조하십시오.
대상 호스트가 제어기 호스트와 동일한 컴퓨터에 있는 경우 제어기 호스트의 updateHost 명령을 실행해야 합니다.
- 스케일링 제어기가 등록된 호스트에 배치할 수 있는 설치 파일 및 패키지를
작성하고 구성하십시오.
설치 파일은 Liberty 런타임 또는 JRE와 같이 등록된 호스트에 설치하고자 하는 애플리케이션이 실행해야 하는 2진 파일입니다. 패키지는 압축 파일로 패키징된 애플리케이션입니다.
- wlp 디렉토리는 포함하되 usr 디렉토리는 포함하지 않는
Liberty 런타임 아카이브를 작성하십시오. 이 설치 파일의 이름 지정 규칙은
type.name.zip입니다(예:
wlp.855.zip). Liberty 런타임 아카이브를 작성하기 위해 다음 옵션을 사용할 수 있습니다.
- --include=wlp 옵션을 사용하여 Liberty 서버
package 명령을 실행하십시오.
예:
wlp/bin/server package --include=wlp
파일 이름 및 대상 위치를 지정하려면 --archive=archive_path_name 옵션을 추가하십시오. 예:
wlp/bin/server package --include=wlp --archive=c:\temp\wlp.855.zip
--archive 옵션을 사용하여 올바른 파일 이름 또는 대상 위치를 지정하지 않으면 이 명령은 wlp.zip 런타임 아카이브를 $WLP_OUTPUT_DIR 위치에 작성합니다. 이 위치는 기본적으로 ${wlp.install.dir}/usr/servers 디렉토리에 있습니다. 대상 위치는 명령을 실행하기 전에 존재해야 합니다. 그러므로 대상 위치가 c:\temp인 경우 C:\temp 디렉토리가 존재해야 하며, 이 명령에는 아카이브를 C:\temp 디렉토리에 쓰기 위한 쓰기 권한이 있어야 합니다.
- --include=all 옵션과 함께 package 명령을 실행한 다음
usr 디렉토리를 삭제하십시오. package 명령은
다음과 같습니다.
wlp/bin/server package myServer --include=all --archive=myArchive.zip
- usr 디렉토리 없이 wlp 디렉토리가 포함된 압축(.zip) 파일을 작성하십시오.
Liberty 런타임 아카이브를 작성한 후에는 아카이브 이름이 이름 지정 규칙 wlp.name.zip을 따르는지 확인하십시오.
- --include=wlp 옵션을 사용하여 Liberty 서버
package 명령을 실행하십시오.
예:
- JDK(Java Development Kit) 및 기타 필수 설치 파일의 아카이브를
작성하거나 확보하십시오. 설치 파일에 대한 이름 지정 규칙은
type.name.zip입니다(예: jre.17.zip).
설치 파일의 올바른 유형 값은 다음과 같습니다.
- Liberty 런타임의 경우 wlp.
- Java 런타임 환경의 경우 jre.
- 다른 파일 유형의 경우 other. 이는 기본값입니다.
예를 들어, JRE의 아카이브를 작성하려면 IBM JRE 설치의 java 디렉토리 컨텐츠가 포함된 압축(.zip) 파일을 작성하십시오. java 디렉토리는 포함하지 않으며, java 디렉토리에 모든 폴더 및 파일을 포함하십시오. 아카이브에 이름을 지정할 때 jre.name.zip 이름 지정 규칙을 따르십시오.
- Liberty 서버 및 애플리케이션을 배치하려면 Liberty 서버 및 애플리케이션을 포함하는 서버 패키지 ZIP 파일을 작성하십시오. 서버 패키지의 이름 지정 규칙은
package_name.zip입니다(예:
cluster1.zip). 서버 패키지 작성 옵션은 다음과 같습니다.
- package
명령을 실행하십시오.
명령은 이름이 지정된 서버 패키지를 작성합니다(예: C:\wlp\usr\servers\cluster1\cluster1.zip).wlp/bin/server package cluster1 --include=usr
- --include=all 옵션과 함께 package 명령을 실행한 다음
wlp 디렉토리를 삭제하십시오. package 명령은
다음과 같습니다.
wlp/bin/server package cluster1 --include=all --archive=cluster1.zip
- wlp 디렉토리 없이 usr 디렉토리가 포함된 압축(.zip) 파일을 작성하십시오.
예를 들어, 하나의 애플리케이션의 독립형 Liberty 서버로 구성된 cluster1.zip으로 이름 지정된 서버 패키지를 작성하려면 다음을 수행하십시오.
- 서버를 작성하십시오.
wlp/bin/server create cluster1
- cluster1 서버의 dropins 디렉토리에 애플리케이션을 복사하십시오.
- 서버를 패키징하십시오.
wlp/bin/server package cluster1 --include=usr
중요사항: 패키지의 server.env 파일에 대상 호스트에서 유효한 환경 설정이 있는지 확인하십시오. JAVA_HOME이 설정되어 있는 경우 배치 실패를 방지하기 위해 대상 호스트에 있는 위치로 설정해야 합니다. - package
명령을 실행하십시오.
- wlp 디렉토리는 포함하되 usr 디렉토리는 포함하지 않는
Liberty 런타임 아카이브를 작성하십시오. 이 설치 파일의 이름 지정 규칙은
type.name.zip입니다(예:
wlp.855.zip). Liberty 런타임 아카이브를 작성하기 위해 다음 옵션을 사용할 수 있습니다.
- 스케일링 제어기 server.xml 파일에서 집합체 제어기
또는 스택 관리자에 대한 사용자 이름과 비밀번호를 설정하십시오.
또는<collectiveController user="adminUser" password="adminPassword" />
<stackManager controllerUser="adminUser" controllerUserPassword="adminPassword" />
- WLP_STACK_GROUPS_DIR 위치에 설치 파일 및 패키지를 배치하십시오. 이 위치는 기본적으로
$WLP_USER_DIR/shared/stackGroups입니다.
스케일링 제어기는 파일 시스템에서 기본 설치 파일 및 패키지 위치를 모니터링하고 업데이트에 동적으로 반응합니다. 기본 위치에 설치 파일 및 패키지를 배치하는 경우 기본 속성을 변경할 필요가 없습니다.
기본 스택 그룹 defaultStackGroup을 사용할 수 있습니다. 또는 stackGroups의 고유 서브디렉토리를 작성하고(예: myStackGroup) installables 및 packages 서브디렉토리에 추가할 수 있습니다.
wlp/usr /servers /shared ... /stackGroups /defaultStackGroup /installables /packages /myStackGroup /installables /packages
스케일링 제어기는 등록된 호스트에 설치 파일 및 패키지를 배치하고 새 서버를 작성합니다.
팁: 스케일링 정책이 사용되고 새 서버를 필요로 하는 경우에만 새 서버가 작성됩니다. 스케일링 제어기가 새 서버를 작성하도록 하려면 스케일링 제어기의 스케일링 정책에 대한 min 값 및 가능하면 max 값을 조정하십시오. 예를 들어, 스케일링 제어기에 스케일링 정책이 없고 집합체에 세 개의 스케일링 멤버가 있는 경우, 스케일링 제어기가 네 개 이상의 멤버가 실행하도록 하는 정책을 스케일링 제어기 server.xml 파일에 추가하십시오.<scalingDefinitions> <defaultScalingPolicy enabled="true" min="4" max="6"/> </scalingDefinitions>
Liberty 탄력성을 위한 클러스터 이름 지정 규칙은 StackGroupName.PackageName입니다. 스택이 배치되면 <clusterMember name="StackGroupname.PackageName"은 배치된 서버의 server.xml 파일에 자동으로 설정됩니다. 해당 <scalingPolicy> 요소에는 <bind clusters="StackGroupName.Packagename"/> 명령문이 포함됩니다.
표 1. 기본 설치 파일 및 패키지 위치. Liberty 환경 변수는 기본 설치 디렉토리를 설정합니다. 기본 위치를 대체하려면 Liberty 환경의 사용자 정의의 내용을 참조하십시오. 파일 기본 설치 디렉토리 설치 가능 유형 wlp /wlp 설치 가능 유형 jre /wlp/jre 설치 가능 유형 other /wlp/other 패키지 /wlp/usr - 스택 그룹 및 설치 파일의 구성 속성을 검사하고, Liberty 프로비저닝의
실행 시점과 위치를 정의하기 위해 필요하면 스택 그룹 및 설치 파일의 구성을 변경하십시오.
기본 구성을 대체해야 합니다.
스케일링 제어기 server.xml 파일의 stackGroup 및 installable 요소에 새 값을 설정하여 기본 구성을 대체하십시오. stackGroup 및 installable 요소에 대한 정보는 스케일링 제어기를 참조하십시오.
일부 요소의 기본값 대체에 대한 팁은 다음과 같습니다.
- installable 요소는 스택 그룹의 설치 파일을 정의합니다. installable
요소는 stackGroup 요소의 하위 요소 또는
stackGroup 요소의 installableRef 하위 요소에서
참조하는 동위입니다. 다음 예는 스케일링 제어기 server.xml 파일에서 설정을 변경하여 스택 그룹의 installable 속성에 대한 기본값을 대체하는 방법을 표시합니다.
또는<stackGroup name="myStackGroup"> <installable name="wlp.v8555.zip" sourceDir="c:\myStackGroup\installables"/> </stackGroup>
<stackGroup name="myStackGroup" installDir="/myInstallDir" installableRef="myInstallable1, myInstallable2"/> <installable name="wlp.v8555.zip" id="myInstallable1" sourceDir="c:\myStackGroup\installablesOne" /> <installable name="jre.v1.6.zip" id="myInstallable2" sourceDir="c:\myStackGroup\installablesTwo"/>
- deployVariable 하위 요소는 배치된 스택에 삽입된
대체 변수를 지정합니다. 스택을 배치할 때마다 대체 변수가 자동으로
증분되도록 지정할 수 있습니다. 예를 들어, deployVariable 속성을 사용하여
초기 포트 번호 값을 지정하고 배치할 때마다 값을 증분하십시오. 이 상황에서
deployVariable은 대상 호스트에서 포트 충돌을 방지하기 위해
사용됩니다. deployVariable 요소는 배치된 서버의
server.xml 파일에 산술을 사용하여 런타임 포트 번호를 유도합니다.
예를 들어, 시작 포트 값 및 증분할 크기를 정의하려면 다음을 수행하십시오.
- 패키징된 서버 server.xml 파일의 httpEndpoint
요소에서 httpPort="${http.port}"를
설정하십시오.
<httpEndpoint ... httpPort="${http.port}" />
- 시작 포트 및 증분 값을 설정하는 deployVariable 정의를
스케일링 제어기 server.xml 파일에
추가하십시오.
<stackGroup name="DefaultStackGroup" installDir=""> <deployVariable name="http.port" value="9080" increment="1"/> </stackGroup>
그런 다음, 스택이 호스트에 배치될 때마다 httpPort 값이 1씩 증분됩니다. 따라서 스택이 처음에 host1에 배치되는 경우 HTTP 엔드포인트는 다음과 같습니다.
<httpEndpoint ... httpPort="9080" />
그리고 스택이 두 번째로 host1에 배치되면 요소는 다음과 같습니다.
<httpEndpoint ... httpPort="9081" />
deployVariable 속성에서 value의 기본값은 null입니다. increment의 기본값은 0(영)입니다.
deployVariable이 스케일링 제어기 server.xml 파일에 지정되어 있는 경우, 배치된 서버의 런타임 포트 번호가 increment 정수만큼 늘어난 초기 포트 value 문자열입니다.
- 패키징된 서버 server.xml 파일의 httpEndpoint
요소에서 httpPort="${http.port}"를
설정하십시오.
- 스케일링 제어기 server.xml이 스택 그룹을 다음과 같이 정의하는 경우
서버 패키지를 작성하는 서버 디렉토리의 bootstrap.properties 파일에서
httpPort를 다시 정의하지 마십시오. 정의하면 bootstrap.properties에
정의된 httpPort 값이 사용되고 deployVariable 구성 요소에서
생성한 값은 사용되지 않습니다.
<stackGroup name="DefaultStackGroup" installDir=""> <deployVariable name="http.port" value="9080" increment="1"/> </stackGroup>
- installable 요소는 스택 그룹의 설치 파일을 정의합니다. installable
요소는 stackGroup 요소의 하위 요소 또는
stackGroup 요소의 installableRef 하위 요소에서
참조하는 동위입니다.
- 옵션: 스케일링 제어기가 스택 그룹 추가, 업데이트, 삭제에 대해 파일 시스템을
검사하는 간격을 변경하십시오.
스케일링 제어기가 stackGroups 디렉토리 및 해당 서브디렉토리의 컨텐츠가 변경되었는지 스캔합니다. 컨텐츠가 변경되면 제어기가 이전에 사용할 수 있는 패키지가 없었던 클러스터를 프로비저닝할 수 있습니다. 패키지를 업데이트하는 경우에는 제어기가 기존 클러스터를 다시 프로비저닝하지 않습니다.
기본적으로 제어기는 WLP_STACK_GROUPS_DIR 위치를 5000밀리초(5초)마다 스캔합니다. 스캐닝 간격을 변경하거나 스캐닝을 사용 안함으로 설정하려면 스케일링 제어기 server.xml 파일에서 스택 관리자 속성 scanningInterval 및 scanningEnable의 새 값을 설정하십시오. 예를 들어, 스캐닝 간격을 6초로 설정하고 스캐닝을 사용으로 설정하려면 스케일링 제어기 server.xml 파일에 다음과 유사한 명령문을 추가하십시오.
<stackManager groupsDir="${wlp.install.dir}/usr/shared/stackGroups/" controllerUser="adminUser" controllerUserPassword="adminPassword" scanningInterval="6000" scanningEnable="true"> </stackManager>
스캐닝을 사용 안함으로 설정하려면 scanningEnable을 false로 설정하십시오.
- 옵션: 스케일링 제어기가 새 스택 그룹 추가, 업데이트, 삭제에 대해 파일 시스템을
스캔하도록 지시하십시오.
스케일링 제어기가 스택 그룹 추가, 업데이트, 삭제에 대해 WLP_STACK_GROUPS_DIR 위치를 검사하도록 하려면 StackManager MBean 조작을 실행하십시오. 스케일링 제어기 server.xml 파일에 scanningEnable="false"가 있더라도 StackManager MBean 조작을 실행하여 추가, 업데이트, 삭제에 대해 스캐닝을 강제 실행할 수 있습니다.
StackManager MBean에 대한 정보는 제공된 MBean 목록의 내용을 참조하십시오.
- 옵션: 서버에 대한 라우팅을 사용하려면 IHS를 시작하십시오.
IBM HTTP Server(IHS)가 동적으로 프로비저닝된 클러스터에서 웹 애플리케이션을 발견하고 라우팅하도록 하려면 스케일링 제어기가 상주할 호스트에 동적 라우팅을 사용으로 설정하십시오. IHS는 동적 라우팅 서비스에서 프로비저닝된 서버의 라우팅 정보를 검색합니다. 서버 상태를 사용하는 경우 라우팅 정보를 볼 수 있습니다.
IHS가 설치되어 있지 않으면 Liberty 집합체의 동적 라우팅 설정의 내용을 참조하십시오. 또한 다음 비디오는 IBM Installation Manager를 사용하여 동적 라우팅에 대한 지원을 설치하는 방법을 보여줍니다.
시청: Liberty 동적 라우팅에 IHS 사용 비디오는 IHS를 설치하고 WebSphere Application Server용 웹 서버 플러그인을 설치하며 동적 라우팅에 대한 임시 수정사항을 적용하는 방법을 보여줍니다. [내용]

파일 이름: twlp_autoscale_configlibertyelast.html