installer케이스별시나리오
0. 공통 확인 항목 (모든 케이스 공통)
| 확인 항목 | 예상 동작 | 확인 필요 |
|---|---|---|
| ./start.sh 실행 | 백그라운드로 기동됨 | ✅ |
| ./start.sh foreground 실행 | 포그라운드로 기동됨 | ✅ |
| ./stop.sh 실행 | 기동 중인 에이전트 종료됨 | ✅ |
1. Unpack — 신규 (2번 선택)
- 사전 조건 : exem/ 디렉토리 없는 상태
- 실행 : .bin 실행 → 2번(unpack) 선택
- 기대 로그 :
Unpack completed
UNPACK_DIR={실행경로}/exem/kafka
xmSuccess(0): unpack completed
| 확인 항목 | 예상 동작 | 확인 필요 |
|---|---|---|
| exem/kafka/ 디렉토리 생성 | 생성됨 | ✅ |
| start.sh, stop.sh | 존재 | ✅ |
| install_start.sh, install_stop.sh | 없음 | ✅ |
2. Unpack — 기존 있음 (2번 선택)
- 사전 조건 : exem/kafka/ 에 기존 설치 있음 (cfg/kafka.conf 수정된 상태)
- 실행 : 같은 경로에서 .bin 실행 → 2번(unpack)
정보
⚠️ unpack은 패키지를 있는 그대로 푸는 모드이므로, 기존에 수정한 cfg/kafka.conf 등의 설정 파일이 패키지 기본값으로 덮어씌워집니다. 기존 설정을 유지한 채 업데이트하려면 unpack 대신 install(patch) 모드를 사용하세요.
| 확인 항목 | 예상 동작 | 확인 필요 |
|---|---|---|
| cfg/kafka.conf | 패키지 기본값으로 덮어씌워짐 | ✅ |
| lib/exem-kafka-agent.jar | 덮어씌워짐 | ✅ |
| pkg_version.sh/bat | 덮어씌워짐 | ✅ |
| jre/ | 덮어씌워짐 | ✅ |
| .installconfig | 유지 (패키지에 미포함) | ✅ |
| log/ 내 기존 로그파일 | 유지 (패키지에 미포함) | ✅ |
3. Fresh Install — 기본 경로 (1번 선택)
- 사전 조건: exem/ 디렉토리 없는 상태
- 실행: .bin 실행 → 1번 → EXEM_HOME Enter(기본값)
- 기대 로그:
Installation completed
xmSuccess(0): installation completed
| 확인 항목 | 예상 동작 | 확인 필요 |
|---|---|---|
| "Existing installation found" 메시지 | 안 뜸 | ✅ |
| 설치 위치 | {실행경로}/exem/kafka | ✅ |
| start.sh, stop.sh | 존재 (install용) | ✅ |
| install_start.sh, install_stop.sh | 없음 | ✅ |
| .installconfig | 생성됨 | ✅ |
| exem-installer-tmp/ | 남아있지 않음 | ✅ |
4. Fresh Install — 사용자 지정 경로 (1번 선택)
- 사전 조건 : /opt/exem 없는 상태
- 실행 : 1번 → EXEM_HOME에 /opt/exem 입력
| 확인 항목 | 예상 동작 | 확인 필요 |
|---|---|---|
| 설치 위치 | /opt/exem/kafka | ✅ |
| 나머지 | 3번과 동일 | ✅ |
5. Patch — 기본 경로 (1번 선택, 기존 설치 있음)
- 사전 조건 : exem/kafka/ 에 기존 설치 있음
- 실행 : 같은 경로에서 .bin 실행 → 1번 → EXEM_HOME Enter
- 기대 로그 :
Existing installation found. Running patch...
Existing version: "3.0.x.x"
New version: "3.0.x.x"
...
Patch completed (agent not started)
xmSuccess(0): patch completed
| 확인 항목 | 예상 동작 | 확인 필요 |
|---|---|---|
| 교체되는 파일 | ||
| lib/exem-kafka-agent.jar | 새 버전으로 교체됨 | ✅ |
| pkg_version.sh | 새 버전으로 교체됨 | ✅ |
| pkg_version.bat | 새 버전으로 교체됨 | ✅ |
| .installconfig | 사용자 입력값으로 갱신됨 | ✅ |
| 유지되는 파일 | ||
| cfg/kafka.conf | 기존 설정 유지 | ✅ |
| start.sh, stop.sh | 기존 파일 유지 | ✅ |
| jre/ | 기존 유지 (이미 있으면 복사 안 함) | ✅ |
| log/ | 기존 유지 | ✅ |
| 정리 | ||
| exem-installer-tmp/ | 남아있지 않음 | ✅ |
6. Patch — 사용자 지정 경로 (1번 선택, 기존 설치 있음)
- 사전 조건 : /opt/exem/kafka/ 에 기존 설치 있음
- 실행 : 1번 → EXEM_HOME에 /opt/exem 입력
| 확인 항목 | 예상 동작 | 확인 필요 |
|---|---|---|
| 동작 | 5번과 동일 | ✅ |
7. Config 모드 (silent install)
- 실행 :
./setup.bin config.txt - config.txt 예시 :
INSTALL_DIR=/opt/exem
RECEIVER_IP=10.20.30.40
RECEIVER_PORT=9009
| 확인 항목 | 예상 동작 | 확인 필요 |
|---|---|---|
| INSTALL_DIR 키 | 설치 경로로 인식됨 | ✅ |
| INSTALL_PATH 키 | 설치 경로로 인식됨 | ✅ |
| RECEIVER_PORT 미지정 시 | 기본값 9009 적용 | ✅ |
| EXEM_AGENT_NAME 미지정 시 | 기본값 kafka-agent 적용 | ✅ |
| 대화형 입력 | 없이 설치 완료 | ✅ |
8. 비정상 종료 후 재설치
- 사전 조건 : 이전 설치 중단으로 exem-installer-tmp/ 남아있는 상태
- 실행 : .bin 실행 → 1번 → 정상 설치 진행
| 확인 항목 | 예상 동작 | 확인 필요 |
|---|---|---|
| 기존 exem-installer-tmp | 정리 후 정상 설치됨 | ✅ |
| 설치 결과 | Fresh Install 또는 Patch와 동일 | ✅ |