コンテンツにスキップ

モジュール機構の導入

モジュール機構を利用する際にはxData Edgeのインストーラーに以下の設定をした上でxData Edgeをインストールする必要があります。

モジュール機構を導入するマシンの構成例

モジュール機構とxData Edgeを実行するマシンの構成例として以下の2パターンが考えられます。

  • モジュール機構とxData Edge共に同じマシンに配置
  • モジュール機構とxData Edgeを別々のマシンに配置

どちらのパターンでもxData Edgeを実行するマシンからSSH接続をしてモジュールを実行します。 モジュールとxData Edgeを同じマシンに配置する場合でもlocalhostでSSH接続してモジュールを実行します。その場合はxData Edgeをインストールするローカルマシンに対してSSH接続できるように設定をする必要があります。 また、SSH接続は公開鍵認証による接続に対応していないため、パスワード認証でSSH接続できるように設定する必要があります。

モジュール機構を導入するマシンの環境

モジュールを実行するマシン(SSH接続先のマシン)は以下の要件を満たす必要があります。

  • パスワード認証で SSH 接続が可能となっていること
  • Docker および Docker Compose がインストールされていること
  • コンテナ上で GPU を利用する場合、NVIDIA Container Toolkit および、NVIDIA GPU ドライバーが導入されていること

xData Edge インストーラーをによって、導入環境には Docker、Docker Compose、NVIDIA Container Toolkit、NVIDIA GPU ドライバーがインストールされます。 それ以外の実行環境でアルゴリズムモジュールを実行する場合は、別途導入が必要です。

モジュール機構付きxData Edge のインストール

dataproc api 用の設定

モジュール機構で利用するdataproc api を動かすには SSH ワーカーの設定が必要となります。 マシンの構成に応じてインストーラーのmanifest/base/evwh/provenanceapi/deployment.yamlにある環境変数の設定を追加・変更してください。 設定する環境変数については環境変数の設定の項目を参考にしてください。 設定完了後、xData Edgeをインストールします。

dataproc apiの疎通確認

dataproc apiとの疎通確認は以下のコマンドで実行することができます。(SSHワーカーの設定が正しくされているかの確認とは別になります。)

curl -H "Content-type:application/json" \
     -H "APIKey: 14139d71-8ca2-4c35-88a2-66d3fc77bd4c" \
     -H "Secret: iBbBVb83iSdWP8muFAAcwlK1OsJosYnWHAKE" \
     -X POST \
     -d '{"id":1, "jsonrpc":"2.0", "method":"dataproc.get_server_version","params":{}}' \
     http://localhost/api/v1/dataproc/jsonrpc

以下のレスポンスが返却されればdataproc apiが動作していることが確認できます。

{"result":"0.0.2","id":1,"jsonrpc":"2.0"}

その他

新規インストールではなく、既存の xData Edge をアップデートして利用する際はDB更新等が必要となるため別途ご相談ください。

環境変数の設定

モジュール実行機構を動作させる際に設定する環境変数は以下通りです。

変数名 概要 設定例 デフォルト値
WORKER_SSH_HOST Dockerモジュールを実行するマシンの接続先ホスト名 localhost
WORKER_SSH_PORT Dockerモジュールを実行するマシンの接続先ポート番号 22 22
WORKER_SSH_USER Dockerモジュールを実行するマシンの接続ユーザ名 ubuntu
WORKER_SSH_PASS Dockerモジュールを実行するマシンの接続パスワード password
WORKER_ROOT_DIR 実行するモジュールを格納するディレクトリのフルパス(この設定例の場合xdata-algo-modules以下に動作させたいモジュール一式を格納する) /home/ubuntu/work/xdata-algo-modules .
WORKER_DATA_DIR モジュール実行時の一時データを保存するディレクトリのフルパス(この設定例の場合runs以下にUUID表記のディレクトリが作成される) /home/ubuntu/work/runs
WORKER_MOUNT_DIR Dockerモジュールにマウントするディレクトリのパス /work/runs /work/runs
WORKER_SESSIONS_DIR セッションディレクトリのパス /home/ubuntu/work/sessions
WORKER_APP_DIR APPディレクトリのパス /home/ubuntu/work/app