호스트 매니저 설치 및 확인
설치
호스트 매니저 설치 스크립트는 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.