호스트 매니저 설치 및 확인

설치

호스트 매니저 설치 스크립트는 UNIX 환경을 지원합니다.

우선 설치할 디렉터리 경로를 FRAME_HOME 환경 변수 값으로 지정한 후 install 스크립트를 실행합니다. 이때 설치 디렉터리 경로를 $HOSTMANAGER_HOME 환경 변수에 설정하거나, -d 옵션을 이용하여 지정해야 합니다.

다음은 호스트 매니저 설치 스크립트의 실행 예시입니다.

$ ./install.sh -d /home/tmax/hostmanager/
host manager installed to /home/tmax/hostmanager/

설치 확인

디렉터리 구조

호스트 매니저가 정상적으로 설치되면 다음과 같은 디렉터리 구조가 생성됩니다.

$(FRAME_HOME)
    |-- bin
    |    |-- startHostManager
    |    |-- stopHostManager
    |-- config
    |    |-- hostmanager.yml
    |    |-- log4j2.xml
    |-- data
    |-- lib
    |    |-- hostmanager.jar
    |--  logs
{FRAME_HOME}

호스트 매니저를 설치하는 최상위 디렉터리로 실제 디렉터리 이름과 위치는 설치할 때 결정됩니다.

bin

호스트 매니저의 시작 및 종료 스크립트인 startHostManager, stopHostManager와 같은 실행 파일들이 위치합니다.

config

환경 설정 파일인 hostmanager.yml 파일과 로거 설정 파일인 log4j2.xml이 위치합니다.

data

호스트 매니저에서 관리 중인 인스턴스 정보를 보관하는 파일 DB가 저장되는 위치입니다.

lib

호스트 매니저가 기동하는 데 필요한 라이브러리가 존재합니다.

logs

호스트 매니저 로그 및 각 인스턴스의 프로세스 standard output 로그가 저장되는 위치입니다.

실행

호스트 매니저를 실행하기 위해서는 스크립트를 사용합니다.

FRAME_HOME/bin 하위에 존재하는 startHostManager를 실행하면 호스트 매니저가 마스터로부터 명령어를 받아 인스턴스를 관리할 준비를 합니다. 이때 옵션을 이용하여 마스터 타입, 호스트 매니저 이름, 포트와 마스터 주소를 입력합니다.

FRAME_HOME/bin$ startHostManager -t hyperframe -n host1 -p 7730 -m 192.168.15.129:8080 -r active -b host1_bak
[2022.08.30 09:45:26][2] [c.t.h.ServerApplication] [main] Starting ServerApplication using Java 1.8.0_342 on tmax-office with PID 11650
[2022.08.30 09:45:28][2] [c.t.h.c.HostConfigurationSource] [main] Applied host properties: HostConfigurationSource.HostProperties(rootDir=/home/tmax/SF21, address=192.168.15.129, port=7730)
[2022.08.30 09:45:32][2] [c.t.h.ServerApplication] [main] Started ServerApplication in 6.018 seconds (JVM running for 6.815)
[2022.08.30 09:45:32][2] [c.t.h.c.i.ProjectInformationPrinter] [main] Starting hostmanager with version 1.0.0
[2022.08.30 09:45:32][2] [c.t.h.ServerApplication] [main] Host manager started.
옵션 설명

[-t] <type>

호스트 매니저를 실행하는 플랫폼 환경입니다. hyperframe을 입력합니다.

[-n] <name>

마스터에서 사용자가 식별할 호스트 매니저의 이름을 입력합니다.

[-p] <port>

호스트 매니저가 마스터로부터 명령을 수신할 포트 번호를 입력합니다. (기본값: 7730)

[-m] <master address>

호스트 매니저가 연결할 마스터 주소를 입력합니다. (기본값: 0.0.0.0:8080)

[-r] <host role>

호스트 매니저의 역할을 입력합니다. (기본값: backup)

[-b] <backup hostname>

백업할 호스트 매니저의 이름을 입력합니다. 단, 역할이 active인 호스트 매니저의 경우에만 입력합니다.

호스트 매니저의 클러스터링 기능을 사용할 경우 먼저 backup 역할의 호스트 매니저를 기동한 후 active 역할의 호스트 매니저를 기동해야 합니다.

호스트 매니저가 인스턴스를 모니터링하는 중에 종료되어 다시 기동되면 마스터에서 인스턴스 목록을 받아와 이전에 모니터링하던 인스턴스를 계속 모니터링합니다. 이 과정에서 다음과 같은 로그가 발생합니다.

FRAME_HOME/bin$ startHostManager
[2022.08.30 09:45:26][2] [c.t.h.ServerApplication] [main] Starting ServerApplication using Java 1.8.0_342 on tmax-office with PID 11650
[2022.08.30 09:45:28][2] [c.t.h.c.HostConfigurationSource] [main] Applied host properties: HostConfigurationSource.HostProperties(rootDir=/home/tmax/SF21, address=192.168.15.129, port=7730)
[2022.08.30 09:45:28][2] [c.t.h.c.HostConfigurationSource] [main] Applied environment variables(password covered): {WILDFLY_HOME=/opt/wildfly, APACHE_HOME=/usr/local/httpd, NGINX_HOME=/usr/local/nginx}
[2022.08.30 09:45:32][2] [c.t.h.ServerApplication] [main] Started ServerApplication in 6.018 seconds (JVM running for 6.815)
[2022.08.30 09:45:32][2] [c.t.h.c.i.ProjectInformationPrinter] [main] Starting hostmanager with version 1.0.0
[2022.08.30 09:45:32][2] [c.t.h.ServerApplication] [main] Host manager started.
[2022.08.30 09:45:32][2] [c.t.h.ServerApplication] [main] Starting to first sync instance list with master.
[2022.08.30 09:45:32][2] [c.t.h.r.RuntimeManager] [main] The instance testInstance with pid 69425 is recovered.

종료

호스트 매니저를 종료하기 위해서는 스크립트를 사용합니다.

FRAME_HOME/bin 하위에 존재하는 stopHostManager를 실행하면 호스트 매니저가 종료됩니다.

FRAME_HOME/bin$ stopHostManager -host 192.168.1.1:7730
Requested hostmanager shutdown.