メインコンテンツまでスキップ

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形式で1行に1つずつ記述します。
  • #で始まる行はコメントとして無視されます。
  • 設定ファイル例
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を使用
3PATHにjavaが存在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)エージェント停止失敗