モジュール機構の導入
モジュール機構を利用する際には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 |
– |