Docker Composeを使用したINFINI Consoleのオフライン導入と永続化管理

概要

INFINI Consoleは強力なクラスタ管理と可観測性プラットフォームであり、INFINI Easysearchは軽量で高性能な検索・分析エンジンです。本記事では、インターネットに接続されていない環境でDocker Composeを使用してこれらのコンポーネントを導入する方法を詳細に解説します。

前提条件

導入を開始する前に、以下のソフトウェアがシステムにインストールされていることを確認してください:

  • Docker
  • Docker Compose

オフラインリソースのダウンロード

公式サイトから以下の2つの必須ファイルをダウンロードします:

  • infini-console.tar.gz: docker-compose.ymlと関連スクリプトを含むアーカイブ
  • infini-console-easysearch-1.14.2.tar: infinilabs/consoleとinfinilabs/easysearchのDockerイメージを含むアーカイブ
wget https://release.infinilabs.com/easysearch/archive/offline/amd64/infini-console.tar.gz
wget https://release.infinilabs.com/easysearch/archive/offline/amd64/infini-console-easysearch-1.14.2.tar

Dockerイメージの正しい読み込み方法

重要: infini-console-easysearch-1.14.2.tarは複数のイメージを含むアーカイブファイルであるため、直接docker loadコマンドで読み込むことはできません。

正しい読み込み手順は以下の通りです:

  1. ディレクトリを作成しイメージアーカイブを展開
    mkdir -p docker-images
    tar -xvf infini-console-easysearch-1.14.2.tar -C docker-images
    

    これによりconsole.tareasysearch.tarなどのファイルがdocker-images/ディレクトリに展開されます。

  2. すべてのイメージを一括で読み込み
    cd docker-images
    for img in *.tar; do docker load -i $img; done
    

    このコマンドはディレクトリ内の各.tarファイルに対して自動的にdocker loadを実行します。

  3. イメージの読み込み結果を確認
    docker images | grep infinilabs
    

    infinilabs/console:1.29.8infinilabs/easysearch:1.14.2などのイメージが表示されるはずです。

設定ファイルのカスタマイズ

infini-console.tar.gzを展開した後、.envファイルを見つけてください。すべてのカスタム設定はこのファイルで変更する必要があります。

以下に各設定の詳細説明と変更提案を示します:

基本パス設定

DATA_ROOT=/opt/infini-platform
  • 目的: すべての永続化データ(ログ、設定、インデックス)のルートディレクトリを定義
  • 変更提案: (必須) サーバー上の十分な空き容量があるパスに変更することを強く推奨します(例:/data/infini)。ディレクトリが存在し、Dockerが書き込み権限を持っていることを確認してください。

ネットワーク設定

NETWORK_NAME=infini-net
  • 目的: Docker内部ネットワークの名前を定義
  • 変更提案: 通常、変更は不要です。

Console設定

CONSOLE_IMAGE=infinilabs/console
CONSOLE_TAG=1.29.8
CONSOLE_NAME=my-console
CONSOLE_HOST_PORT=9000
CONSOLE_CONTAINER_PORT=9000
  • 目的: Consoleのイメージ、バージョン、コンテナ名、ポートマッピングを定義
  • 変更提案:
    • CONSOLE_HOST_PORT: ホストマシンの9000番ポートが既に使用されている場合は、他の利用可能なポート(例:8080)に変更してください。

Easysearch設定

EASYSEARCH_IMAGE=infinilabs/easysearch
EASYSEARCH_TAG=1.14.2
NODE_COUNT=1
CLUSTER_NAME=infini-cluster
  • 目的: Easysearchのイメージ、バージョン、ノード数、クラスタ名を定義
  • 変更提案:
    • NODE_COUNT: 単一マシンへの導入の場合は1のままにしてください。

アクセスとセキュリティ設定

ADMIN_PASSWORD=ChangeThisPassword123!
  • 目的: Easysearchのadminユーザーの初期パスワードを設定
  • 変更提案: (必須) 必ず強力なパスワードに置き換えてください。Consoleへのログイン時にこのパスワードが必要になります。
EASYSEARCH_HTTP_PORT=9200
EASYSEARCH_TRANSPORT_PORT=9300
  • 目的: EasysearchのHTTPおよびTransportインターフェースのホストマシン上のマッピングポートを定義
  • 変更提案: 9200または9300ポートが競合する場合は変更してください。

JVMパラメータ設定

JVM_HEAP_SIZE="-Xms4g -Xmx4g"
  • 目的: EasysearchのJVMヒープメモリサイズを設定
  • 変更提案: (必須) サーバーの物理メモリに応じて調整し、物理メモリの50%を超えないようにしてください。
    • 8GBメモリのサーバー: -Xms2g -Xmx2gを推奨
    • 16GBメモリのサーバー: -Xms4g -Xmx4gを推奨

データ永続化パス

CONSOLE_DATA_PATH=console/data
CONSOLE_LOGS_PATH=console/logs
EASYSEARCH_DATA_PATH=easysearch
  • 目的: DATA_ROOT下のデータとログの相対サブパスを定義
  • 変更提案: 通常、変更は不要です。

サービスの起動

設定の変更が完了したら、docker-compose.ymlがあるディレクトリで以下のコマンドを実行します:

docker-compose up -d

サービスが完全に起動するまで待機してください。

コンソールへのアクセス

Webブラウザを開き、http://<サーバーのIPアドレス>:9000にアクセスします。

デフォルトのユーザー名adminADMIN_PASSWORDで設定したパスワードを使用して初期設定を行います。

タグ: Docker Docker Compose INFINI Console Easysearch オフライン導入

5月15日 00:56 投稿