Stream Job Operations Management Platform を使用すると、ストリーム処理ジョブとその実行に必要なリソースを登録・管理できます。ワークスペース間でのジョブおよびリソースの隔離をサポートし、ロールベースアクセス制御を提供します。
このガイドでは、プラットフォームの主要モジュールについて説明し、ジョブ登録のエンドツーエンドのワークフロー(リソースのアップロード、ジョブの作成、バージョンの追加、公開、開始、停止)を順を追って解説します。
Stream Job Operations Management Platform は現在招待プレビュー段階です。アクセスをご希望の場合は、Lindorm テクニカルサポート (DingTalk ID: s0s3eg3) までお問い合わせください。
前提条件
作業を開始する前に、以下の条件を満たしていることを確認してください。
プラットフォーム概要
プラットフォームは、以下のモジュールで構成されています。
| モジュール | 説明 |
|---|---|
| ジョブ管理 | ジョブの作成、変更、削除、バージョン管理を行います。フォルダでジョブを整理できます。ワークスペース内またはワークスペース間でジョブを移動・コピーできます。サポートされるジョブタイプ: Stream Engine JAR、Stream Engine SQL、Stream Engine Python。 |
| 依存関係管理 | リソースの作成、変更、削除、バージョン管理を行います。フォルダでリソースを整理できます。同一ワークスペース内または異なるワークスペース間でリソースおよびリソースフォルダを移動・コピー・ダウンロードできます。Config File リソースをオンラインで閲覧できます。6 種類のリソースタイプをサポートしています。詳細については、「リソースタイプ」をご参照ください。 |
| クラスター管理 | スタンドアロンモードでジョブを作成するために利用可能な DPI エンジンクラスターを表示します。 |
| ユーザー管理 | プラットフォームにログイン可能なすべてのユーザーを表示します。 |
| ワークスペース管理 | ワークスペースの表示、作成、削除、変更を行います。ジョブおよびリソースは、異なるワークスペース間で隔離されます。 |
| ロール管理 | ロールの表示、作成、削除、変更を行います。ロールは権限を定義します。ルートユーザーは最高レベルの管理者権限を持ちます。ルートユーザー以外のユーザーは、ワークスペース内で操作を行うために、そのワークスペースにロールが割り当てられている必要があります。ロールは、ルートユーザーまたは メンバー管理 モジュール内の他の許可されるユーザーによって割り当てられます。 |
| メンバー管理 | 現在のワークスペース内のメンバー情報の表示、作成、削除、変更を行います。メンバー情報は、ユーザーがワークスペース内で持つ権限を定義します。 |
リソースタイプ
依存関係管理 モジュールでは、以下の 6 種類のリソースタイプをサポートしています。
| リソースタイプ | 必須ファイルタイプ | 目的 |
|---|---|---|
| Jar アプリ | .jar | Stream Engine の JAR ジョブのメインプログラム |
| Jar ライブラリ | .jar | JAR 依存関係。任意のジョブタイプで使用できます。 |
| 設定ファイル | .txt、 .xml、 .properties | Stream Engine の JAR ジョブのメインプログラムコードによって読み取られる設定ファイル |
| Python アプリ | .py | Stream Engine の Python ジョブのメインプログラム |
| Python ライブラリ | .py、または圧縮パッケージ (.tar.gz または .zip) | Stream Engine の Python ジョブの Python 依存関係 |
| データファイル | データファイル (.txt など) を含む圧縮パッケージ (.zip または .tar.gz | Stream Engine の Python ジョブのデータ依存関係 |
プラットフォームへのログイン
ユーザー名とパスワードの取得
Lindorm コンソール にログインします。左上隅で、ご利用のインスタンスのリージョンを選択します。
[インスタンス]ページで、ターゲットインスタンスの ID をクリックするか、[インスタンスの詳細を表示]を[操作] 列でクリックします。
左側のナビゲーションウィンドウで、データベース接続 をクリックします。
DPI エンジン タブをクリックして、デフォルトのユーザー名とパスワードを取得します。
プラットフォームへのアクセス
左側のナビゲーションウィンドウで、Stream Engine をクリックします。
Stream Job Operations Management Platform にアクセス をクリックします。
ユーザー名とパスワードを入力してログインします。
ジョブの登録
Stream Engine JAR、Stream Engine SQL、Stream Engine Python の 3 つのジョブタイプは、いずれも同じ 6 ステップのワークフローに従います。違いは、アップロードするリソースタイプと、各ステップで指定可能なジョブタイプ固有の構成オプションのみです。
ワークフローは以下のとおりです。
ステップ 1: リソースのアップロード
左側のナビゲーションウィンドウで、依存関係管理 をクリックします。
対象の依存関係フォルダを右クリックし、リソースの作成 を選択して、ジョブに必要なリソースをアップロードします。ジョブタイプに応じて、以下のリソースをアップロードしてください。
ジョブタイプ アップロードするリソース Stream Engine JAR Jar App(必須)、Jar Library、Config File Stream Engine SQL Jar Library(ユーザー定義関数 (UDF) およびその他の依存関係用) Stream Engine Python Python App(必須)、Python Library、Data File
ステップ 2: ジョブの作成
左側のナビゲーションウィンドウで、ジョブ管理 をクリックします。
新規 > ジョブの新規作成 を選択します。
必須パラメーターを入力します。
ジョブ名には、漢字、大文字・小文字の英字、ハイフン (-)、アンダースコア (_) を使用できます。連続する半角スペースは使用できません。
送信 をクリックします。
ステップ 3: ジョブバージョンの追加
ジョブ名をクリックして、詳細ページに移動します。
追加 をクリックしてバージョン情報を構成します。構成オプションはジョブタイプによって異なります。Stream Engine JAR ジョブ: 組み込みリソースは、システムが提供する依存関係であり、アップロードせずに直接使用できます。メインプログラムから Config File を参照するには、以下のいずれかのパスを使用します。Stream Engine SQL ジョブ: バージョンエディターでは、オートコンプリート、構文ハイライト、SQL 構文チェックが提供されます。Stream Engine Python ジョブ: 組み込みリソースは、システムが提供する依存関係であり、アップロードせずに直接使用できます。
絶対パス:
/home/hadoop/cluster-data/lstream/user-config/ConfigFileName相対パス: Config File は、メインプログラムの JAR 内の
resourcesフォルダにあるものとして扱われます。getClassLoader().getResourceAsStream(ConfigFileName)のようなメソッドでアクセスします。
バージョンの作成 をクリックします。
ステップ 4: ジョブバージョンの公開
対象のバージョンの[アクション]列で
をクリックして、公開します。
ステップ 5: ジョブの開始
対象のバージョンの[操作]列にある
をクリックして、ジョブを開始します。ジョブの開始 ダイアログボックスで、既存のセーブポイントまたはチェックポイントパスから再開して、前回の実行状態を復元するかどうかを選択します。
ジョブには複数のバージョンを持つことができますが、同時に実行できるのは 1 つのバージョンのみです。
ステップ 6: ジョブの停止
実行中のバージョンの[アクション] 列にある
をクリックしてジョブを停止します。停止する際、後でジョブを再開できるように、セーブポイントをトリガーして現在の実行状態を保存するかどうかを選択できます。
ジョブバージョンの削除
対象バージョンの 操作 列で、
> 削除 を選択します。