본문으로 건너뛰기

installer를활용한설치

v3.0.23.2 버전부터 installer를 통한 설치 방법을 지원합니다.

1. 개요

  • setup_exem-kafka-agent_{version}.bin은 exemOne Kafka Agent의 설치 및 업데이트를 수행하는 셀프 익스트랙팅 설치 파일입니다.
  • 내부에 에이전트 바이너리(jar), 설정 템플릿, 번들 JRE가 포함되어 있으며 별도의 Java 설치 없이도 동작합니다.

2. 작업 유형

2.1. 대화형 모드 메뉴

번호작업설명
1install(patch)신규 설치 또는 기존 설치 감지 시 패치 수행 (기본값)
2unpack현재 경로에 패키지를 압축 해제한 후 종료
3exit종료

2.2. 설정 파일 모드 (Silent mode)

  • v3.0.23.3부터 지원
  • 설정 파일을 인수로 전달하여 사용자 입력 없이 자동 설치/패치를 수행합니다.
  • 3.2. 설정 파일 모드 (Silent mode) 참고

3. 실행 방법

3.1. 대화형 모드 (Interactive)

./setup_exem-kafka-agent_{version}.bin
  • bin 파일을 실행하면 메뉴가 표시되고 각 항목을 입력합니다.

3.1.1. install(patch) 설치 과정

  1. bin 파일 실행

    ./setup_exem-kafka-agent_{version}.bin

  1. 모드 선택 - install/patch

  1. 설치 디렉토리 지정(EXEM_HOME)

  1. JRE 감지

  1. 에이전트 필수 입력값 지정

  1. 입력 데이터 확인

  • Y 입력 시 : 설치 진행
  • n 입력 시 : 에이전트 필수 입력값 재입력
  1. 설치 완료

3.1.2. unpack 설치 과정

  1. bin 파일 실행

    ./setup_exem-kafka-agent_{version}.bin

  1. 모드 선택 - unpack

  1. 설치 완료

현재 경로(bin 실행 위치) 에 패키지 압축 해제 후 종료

3.2. 설정 파일 모드 (Silent mode)

  • v3.0.23.3부터 지원
  • 설정 파일을 인수로 전달하면 사용자 입력 없이 자동으로 설치/패치가 수행됩니다.
  • 설정 파일 모드에서는 항상 install(patch) 모드로 수행됩니다.
  • 설정파일의 파일명은 자유이며, 절대경로/상대경로 모두 사용 가능합니다.
  • KEY=VALUE 형식으로 한 줄에 하나씩 작성합니다.
  • #으로 시작하는 줄은 주석으로 무시됩니다.
  • 설정파일 예시
vi kafka-install-file

INSTALL_DIR=/home/exem
RECEIVER_IP=10.20.30.40
RECEIVER_PORT=9009
EXEM_AGENT_NAME=kafka-agent

:wq!
  • 설정파일 키
파라미터필수기본값설명
INSTALL_DIR선택{실행경로}/exem에이전트 설치 경로
RECEIVER_IP필수-exemOne Receiver IP 주소
RECEIVER_PORT선택9009exemOne Receiver 포트
EXEM_AGENT_NAME선택kafka-agent에이전트 식별 이름
  • 실행
./setup_exem-kafka-agent_{version}.bin kafka-install-file

4. install 동작 상세

4.1. 설치 디렉토리 설정

  • 기본값: 실행 위치 하위의 exem/ 디렉토리
  • 입력 경로가 /exem으로 끝나지 않으면 자동으로 /exem이 추가됩니다.
  • Kafka Agent는 {INSTALL_DIR}/kafka/에 설치됩니다.
예시) INSTALL_DIR = /home/exem  →  KAFKA_HOME = /home/exem/kafka

4.2. 신규 설치 vs 패치 자동 판별

  • {INSTALL_DIR}/kafka/lib/exem-kafka-agent.jar 파일 존재 여부로 판별합니다.
조건동작
JAR 없음신규 설치
JAR 있음패치 (기존 설정 유지, jar 파일 교체, pkg_version.sh, pkg_version.bat, installconfig 파일 업데이트)

5. 신규 설치

5.1. Java 자동 감지 순서

  • 별도 Java 지정 없이 아래 순서로 자동 감지합니다.
  • Java 17 미만 버전은 감지되더라도 사용하지 않고 다음 우선순위로 넘어간다.
우선순위조건동작
1패키지 내 번들 JRE 존재번들 JRE를 {KAFKA_HOME}/jre에 설치
2환경변수 JAVA_HOME 설정됨해당 Java 사용
3PATHjava 존재PATH의 Java 사용
4위 모두 없음수동 입력 요청 (대화형) / 오류 종료 (설정 파일 모드)

5.2. 신규 설치 완료 후 생성 파일 및 구조

exem/
└── kafka/
├── lib/
│ └── exem-kafka-agent.jar
├── cfg/
│ ├── kafka.conf
│ └── cfg.reload
├── jre/ ← 번들 JRE
├── log/
├── .installconfig ← 설치 정보 저장 파일
├── pkg_version.sh
├── start.sh
└── stop.sh

5.3. 설치 완료 출력

VERSION=3.0.23.3
RECEIVER_ADDR=10.20.30.40:9009
START_SCRIPT_PATH=/home/exem/kafka/start.sh
STOP_SCRIPT_PATH=/home/exem/kafka/stop.sh
xmSuccess(0): installation completed

6. 패치

  • 기존 설치가 감지되면 자동으로 패치 모드로 진입합니다.
  • 실행 중인 에이전트는 패치 시 자동으로 중지됩니다. 단, 아래 경우 수동으로 종료해야 합니다.
    • stop.sh가 없는 경우 (installer가 종료 명령을 실행할 수 없음)
    • 기존 agent가 상대경로로 기동된 경우 (프로세스 경로 매칭 불가로 실행 중인 agent를 감지할 수 없음)

6.1. 패치 동작

  1. .installconfig 존재 여부 확인
    • 있으면 → 기존 설정값을 로드하여 기본값으로 표시, 변경 여부 입력
    • 없으면(installer 미지원 버전) → 안내 메시지 출력 후 신규 입력 받기
  2. 실행 중인 에이전트 자동 중지 (stop.sh 있을 때만 자동 중지)
  3. .installconfig 업데이트 (없으면 신규 생성)
  4. JAR 파일 교체
  5. pkg_version.sh, pkg_version.bat 업데이트
  6. start.sh 없으면 패키지에서 복원
  7. stop.sh 없으면 패키지에서 복원
정보

참고

  • 패치 완료 후 에이전트는 자동으로 실행되지 않습니다. 수동으로 start.sh를 실행해야 합니다.
  • cfg/, start.sh, stop.sh, jre/, log/ 등 기존 파일은 보존됩니다.

6.2. 패치 버전 출력

Existing installation found. Running patch...
Existing version:
agent : 3.0.23.3 [abc1234]
package : 3.0.23.3
New version:
agent : 3.0.23.3 [abc1234]
package : 3.0.23.3-1

6.3. 패치 완료 출력

VERSION=3.0.23.3
KAFKA_HOME=/home/exem/kafka
To start: /home/exem/kafka/start.sh
xmSuccess(0): patch completed

7. unpack

  • 패키지 내용물을 현재 디렉토리에 압축 해제만 하고 종료합니다.
  • 설치 설정(.installconfig) 없이 바로 start.sh로 실행할 수 있습니다.
실행 위치/
└── exem/
└── kafka/
├── lib/
├── cfg/
├── jre/
├── start.sh
├── stop.sh
└── ...
  • 완료 시 출력 :
UNPACK_DIR={실행경로}/exem/kafka
xmSuccess(0): unpack completed
정보

⚠️ 기존에 같은 경로에 설치된 파일이 있을 경우, 패키지에 포함된 파일(cfg/kafka.conf 등)이 덮어씌워진다. 기존 설정을 유지한 채 업데이트하려면 unpack 대신 install(patch) 모드를 사용해야 합니다.

8. .installconfig 파일

  • install 모드로 설치 시 {KAFKA_HOME}/.installconfig에 저장되며, 이후 패치 시 기존 설정을 불러오는 데 사용됩니다.
INSTALL_DIR=/home/exem
JAVA_HOME=/home/exem/kafka/jre
EXEM_AGENT_NAME=kafka-agent
RECEIVER_IP=10.20.30.41
RECEIVER_PORT=9009
  • 파일 권한: 640 (소유자 읽기/쓰기, 그룹 읽기)
  • 값 변경이 필요할 경우 .installconfig를 직접 수정한 후 기동하면 됩니다.

9. 에이전트 시작/중지

  • 시작 (백그라운드)
sh {KAFKA_HOME}/start.sh
  • 시작 (포그라운드)
sh {KAFKA_HOME}/start.sh foreground
  • 중지
sh {KAFKA_HOME}/stop.sh

10. 에러 코드

코드발생 상황
xmError(300)잘못된 메뉴 번호 선택
xmError(301)패키지 압축 해제 실패
xmError(302)설정 파일 모드에서 Java 17+ 감지 실패
xmError(307)설정 파일에 RECEIVER_IP 없음
xmError(308)RECEIVER_IP 형식 오류
xmError(309)사용자가 종료 선택
xmError(310)RECEIVER_PORT 범위 오류
xmError(311)설치 디렉토리 생성 실패
xmError(312)파일 이동 실패
xmError(404)패치 패키지에 JAR 없음
xmError(406)JAR 복사 실패
xmError(407)에이전트 중지 실패