installer를활용한설치
v3.0.23.2バージョンからinstallerを通じたインストール方法をサポートします。
1. 概要
setup_exem-kafka-agent_{version}.binはexemOne Kafka Agentのインストール及びアップデートを実行するセルフエクストラクティングインストールファイルです。- 内部にエージェントバイナリ(jar)、設定テンプレート、バンドルJREが含まれており、別途Javaのインストールなしでも動作します。
2. 作業種類
2.1. 対話モードメニュー
| 番号 | 作業 | 説明 |
|---|---|---|
| 1 | install(patch) | 新規インストールまたは既存インストール検知時のパッチを実行(デフォルト値) |
| 2 | unpack | 現在のパスにパッケージを解凍した後終了 |
| 3 | exit | 終了 |
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) インストール過程
- binファイル実行
./setup_exem-kafka-agent_{version}.bin
- モード選択 - install/patch
- インストールディレクトリ指定(EXEM_HOME)
- JRE検知
- エージェント必須入力値指定
- 入力データ確認

- Y入力時: インストール進行
- n入力時: エージェント必須入力値の再入力
- インストール完了

3.1.2. unpack インストール過程
- binファイル実行
./setup_exem-kafka-agent_{version}.bin
- モード選択 - unpack
- インストール完了

現在のパス(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 | 任意 | 9009 | exemOne 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を使用 |
| 3 | PATHに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. パッチ動作
.installconfigの存在有無確認- あれば → 既存設定値を読み込んでデフォルト値として表示、変更有無を入力
- なければ(installer非対応バージョン) → 案内メッセージ出力後、新規入力を受付
- 実行中のエージェントの自動停止(
stop.shがあるときのみ自動停止) .installconfigアップデート(なければ新規作成)- JARファイル置換
pkg_version.sh、pkg_version.batアップデートstart.shがなければパッケージから復元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) | エージェント停止失敗 |