Liberty 집합체에서 멤버 제거
집합체 유틸리티 remove 명령을 사용하여 집합체에서 멤버 서버를 제거할 수 있습니다. remove 명령은 집합체에서 멤버 서버를 등록 해제하고 집합체와 관련된 멤버 파일을 제거합니다. remove 명령은 멤버 서버를 삭제하거나 멤버 server.xml 파일을 변경하지 않습니다.
이 태스크 정보
집합체의 관리자는 join 명령을 사용하여 집합체에 서버를 추가할 수 있으며 멤버 서버가 더 이상 필요하지 않은 경우 remove 명령을 사용하여 집합체에서 서버를 제거할 수 있습니다.
remove 명령은 존재하지 않는 멤버 서버를 제거할 수 있습니다. 예를 들어, 이 명령은 다음과 같은 상황에서 집합체 제어기로부터 멤버에 대한 정보를 제거할 수 있습니다.
- 멤버가 실수로 또는 고의로 삭제되는 경우
- 배치에 실패하고 멤버가 부분적으로 작성되거나 멤버 구성에 오류가 포함되어 있지만 join 명령이 완료된 경우
또한, remove 명령을 실행한 후 멤버에 의해 할당된 포트 값이 재사용을 위해 해제됩니다.
멤버 호스트의 전체 wlp/usr 사용자 디렉토리가 삭제된 경우에는 JConsole 등의 클라이언트를 사용하여 집합체에서 멤버 서버에 대한 참조를 삭제해야 합니다.
프로시저
- 멤버 서버를 중지하거나 집합체 관련 요소를 멤버 서버 구성에서 제거하십시오. 멤버 서버를 중지하려면 명령행에서 다음과 같이 서버 stop 명령을 실행하십시오.
wlp/bin/server stop memberServerName
멤버 서버가 계속 실행되게 하려면 멤버 서버의 server.xml 파일에서 다음 요소를 제거하십시오.<featureManager> <feature>collectiveController-1.0</feature> <feature>collectiveMember-1.0</feature> </featureManager><collectiveMember ... /> <hostAuthInfo ... />
- 명령행을 사용하여 멤버 서버를 제거하십시오.
- 명령행에서 집합체 remove 명령을 실행하십시오.
wlp/bin/collective remove memberServerName --host=collectiveControllerHost --port=collectiveControllerHTTPSPort --user=collectiveControllerAdminUserID --password=collectiveControllerAdminUserPassword
필요한 옵션 수를 줄이려면 --user, --password, --host 및 --port 대신 --controller 옵션을 사용하십시오.
wlp/bin/collective remove memberServerName --controller=collectiveControllerAdminUserID:collectiveControllerAdminUserPassword@collectiveControllerHost:collectiveControllerHTTPSPort
예를 들어, 포트 1090을 사용하며 집합체 제어기 관리 사용자가 Admin1이고 비밀번호가 Admin1pwd이며 멤버 서버가 member1인 호스트 machineA에 있는 집합체 제어기의 경우 다음 명령을 실행하여 멤버 서버를 제거하십시오.
wlp/bin/collective remove member1 --host=machineA --port=1090 --user=Admin1 --password=Admin1pwd
필요한 옵션 수를 줄이려면 --user, --password, --host 및 --port 대신 --controller 옵션을 사용하십시오.
wlp/bin/collective remove member1 --controller=Admin1:Admin1pwd@machineA:1090
이 예제에는 remove 명령에 대한 필수 설정이 포함되어 있습니다.
- --host=collectiveControllerHost
- host 설정은 집합체 제어기 서버가 상주하는 호스트의 이름을 지정합니다. 집합체 제어기 서버의 server.xml 파일에 있는 defaultHostName 변수는 호스트 이름을 설정합니다.
- --port=collectiveControllerHTTPSPort
- port 설정은 대상 집합체 제어기의 HTTPS 포트 번호를 지정합니다. 집합체 제어기 서버의 server.xml 파일에 있는 httpsPort 변수는 포트 번호를 설정합니다.
- --user=collectiveControllerAdminUserID
- user 설정은 대상 집합체 제어기의 관리 사용자를 지정합니다. 집합체 제어기 서버의 server.xml 파일에 있는 userName 변수는 사용자 이름을 설정합니다.
- --password=collectiveControllerAdminUserPassword
- password 설정은 대상 집합체 제어기 관리 사용자의 비밀번호를 지정합니다. 집합체 제어기 서버의 server.xml 파일에 있는 userPassword 변수는 사용자 비밀번호를 설정합니다. 비밀번호가 지정되지 않은 경우에는 --user 설정에 의해 지정된 관리 사용자의 비밀번호를 입력하라는 프롬프트가 표시됩니다.
- 인증서 체인을 승인하라는 프롬프트가 표시되면 y(예)를 입력하십시오.
remove 명령은 wlp/usr/servers/member1/resources/collective 디렉토리를 삭제합니다. 본 제품은 다음과 비슷한 메시지를 인쇄합니다.
Server member1 successfully unregistered. Attempting to remove resources for the collective from the server... The resources for collective membership were successfully removed. Please update the server.xml and remove any of the following elements: <featureManager> <feature>collectiveController-1.0</feature> <feature>collectiveMember-1.0</feature> </featureManager> <collectiveMember ... /> <hostAuthInfo ... />
- 서버를 유지하려면 메시지에 있는 모든 지시사항을 완료하십시오.
예를 들어, 제거된 멤버 서버의 server.xml 파일에서
메시지에 나열된 요소를 제거하십시오.
서버가 더 이상 필요하지 않은 경우에는 서버 디렉토리를 삭제하십시오. 예를 들어, wlp/usr/servers/member1을 삭제하십시오.
- 명령행에서 집합체 remove 명령을 실행하십시오.
- remove 명령을 실행하기 전에 멤버 호스트에서
전체 wlp/usr 사용자 디렉토리가 삭제된 경우에는
JConsole 등의 클라이언트에서 delete 조작을 사용하여
집합체에서 제거된 멤버 서버에 대한 참조를 삭제하십시오.
- JConsole을 집합체 제어기 프로세스에 연결하십시오.
- 집합체 제어기가 실행 중인지 확인하십시오.
wlp/bin/server status collective_controller_name
- JConsole을 시작하십시오(실행되고 있지 않은 경우). Windows의 경우 Java_installation\bin\jconsole.exe를 실행하십시오.
- 집합체 제어기에 대한 프로세스를 선택하십시오.
JConsole과 함께 REST 커넥터를 사용하여 기본 HTTPS 연결을 통해 원격으로 MBean에 액세스하려면 Creating remote JMX connections in Liberty를 참조하십시오.
- 집합체 제어기가 실행 중인지 확인하십시오.
- JConsole에서 CollectiveRepository getDescendantData
조작을 실행하여 제거된 멤버 서버에 대한 참조를 확인하십시오.
- JConsole MBean 탭에서 CollectiveRepository getDescendantData 조작을 선택한 후 집합체가 상주하는 노드의 이름을 지정하십시오. 이 노드 이름은 /sys.was.collectives/local/hosts/host_name과 비슷합니다(예: /sys.was.collectives/local/hosts/machineA).
- 데이터 목록에서 제거된 멤버 서버에 대한 참조를 찾으십시오.
제거된 멤버 서버의 이름이 데이터 목록에 없으면 해당 서버가 더 이상
집합체의 멤버가 아닙니다. 해당 멤버는 집합체에서 제거되었습니다.
하지만 멤버에 대한 참조가 데이터에 존재하는 경우에는 다음 단계로 진행하십시오. delete 조작을 실행하여 멤버를 제거해야 합니다.
- JConsole에서 CollectiveRepository delete 조작을
실행하여 집합체에서 제거된 멤버 서버에 대한 나머지 참조를 삭제하십시오.
- JConsole MBean 탭에서 CollectiveRepository delete 조작을 선택하십시오.
- nodeName에 대해 삭제할 멤버 서버의 완전한
노드 이름을 지정하십시오. 이 조작은 멤버 서버 노드와 이 노드 아래의
모든 노드를 삭제합니다.
호스트 machineA에서 집합체 제어기가 있고 Windows 컴퓨터에서 멤버 경로가 C:\wlp\usr\servers\member1인 로컬 프로세스의 노드 이름은 다음과 비슷합니다.
/sys.was.collectives/local/hosts/machineA/userdirs/C%3A%2Fwlp%2Fusr/servers/member1
- 삭제를 클릭하십시오.
- 서버가 더 이상 집합체의 멤버가 아님을 확인하기 위해 2b단계를 반복하십시오. JConsole에서 CollectiveRepository getDescendantData 조작을 실행하고 제거된 멤버 서버에 대한 참조를 확인하십시오.
- JConsole을 집합체 제어기 프로세스에 연결하십시오.

파일 이름: tagt_wlp_remove_member.html