この章では、Oozieエンジンを設定する方法およびOracle Data Integratorを使用してOozieワークフローを実行する方法について説明します。また、Hadoopログを監査する方法についても説明します。
この章の内容は次のとおりです。
Oracle Data IntegratorでOozieワークフローを実行するために必要な手順を次の表にまとめます。
表5-1 Oozieワークフローの実行
手順 | 説明 |
---|---|
Oozieランタイム・エンジンの設定 |
Oozieランタイム・エンジンを設定してOozieエンジンがインストールされているHadoopデータ・サーバーへの接続を構成します。このOozieランタイム・エンジンは、OozieエンジンでODI設計オブジェクトまたはシナリオをOozieワークフローとして実行するのに使用されます。 第5.2項「Oozieランタイム・エンジンの設定および初期化」を参照してください。 |
Oozieワークフローの実行またはデプロイ |
前の手順で作成されたOozieランタイム・エンジンを使用してODI設計オブジェクトまたはシナリオを実行し、Oozieワークフローを実行またはデプロイします。 第5.4項「Oozieワークフローの実行またはデプロイ」を参照してください。 |
Hadoopログの監査 |
Oracle Data Integrator内でのOozieワークフローの実行をモニターするHadoopログを監査します。 第5.5項「Hadoopログの監査」を参照してください。 |
Oozieランタイム・エンジンを設定する前に、OozieエンジンがデプロイされているHadoopデータ・サーバーがトポロジで使用可能になっていることを確認してください。OozieエンジンはこのHadoopデータ・サーバーに関連付けられている必要があります。
Oozieランタイム・エンジンを設定する手順は、次のとおりです。
トポロジ・ナビゲータで、「物理アーキテクチャ」ナビゲーション・ツリーにある「Oozieランタイム・エンジン」ノードを右クリックして「新規」をクリックします。
「定義」タブで、フィールドの値を指定してOozieランタイム・エンジンを定義します。
フィールドの説明は、第5.2.1項「Oozieランタイム・エンジン定義」を参照してください。
「プロパティ」タブで、Oozieランタイム・エンジンのプロパティを指定します。
プロパティの説明は、第5.2.2項「Oozieランタイム・エンジンのプロパティ」を参照してください。
「テスト」をクリックして、実際のOozieサーバーと関連Hadoopデータ・サーバーの接続と構成をテストします。
「初期化」をクリックして、Oozieランタイム・エンジンを初期化します。
Oozieランタイム・エンジンを初期化するとログ取得ワークフローおよびコーディネータ・ワークフローをHDFSファイル・システムにデプロイし、ログ取得コーディネータおよびワークフローのジョブを実際のOozieサーバー上で開始します。リポジトリおよびoozieエンジンのログ取得フローおよびコーディネータの名前はそれぞれOdiRetrieveLog_<EngineName>_<ReposId>_F
およびOdiLogRetriever_<EngineName>_<ReposId>_C
となります。
ODIライブラリおよびクラスもデプロイします。
「保存」をクリックします。
第5.1項「Oracle Data IntegratorによるOozieワークフローの実行」
次の表は、新しいOozieランタイム・エンジンを定義する場合に「定義」タブで指定する必要があるフィールドについて説明しています。Oozieランタイム・エンジンはHadoop環境で実際のOozieサーバーをモデル化します。
表5-2 Oozieランタイム・エンジン定義
フィールド | 値 |
---|---|
名前 |
Oracle Data Integratorに表示されるOozieランタイム・エンジンの名前。 |
ホスト |
Oozieランタイム・エージェントが起動されたマシンの名前またはIPアドレス。 |
ポート |
Oozieランタイム・エンジンによって使用されるリスニング・ポート。デフォルトのOozieポート値は11000です。 |
Webアプリケーション・コンテキスト |
Webアプリケーション・コンテキストの名前。このフィールドの値として |
プロトコル |
接続に使用するプロトコル。使用可能な値は、 |
Hadoopサーバー |
oozieエンジンがインストールされたHadoopサーバーの名前。このHadoopサーバーはoozieランタイム・エンジンに関連付けられています。 |
ポーリング頻度 |
Hadoop監査ログが取得され、ODIリポジトリにセッション・ログとして格納される頻度。 ポーリングの頻度は、秒(s)、分(m)、時間(h)、日(d)および年(y)で指定できます。例: 5mまたは4h。 |
存続期間 |
Hadoop監査ログの取得コーディネータが監査ログの取得ワークフローをスケジュールできる期間。 存続期間は、分(m)、時間(h)、日(d)および年(y)で指定できます。例: 4hまたは2d。 |
スケジュール頻度 |
Hadoop監査ログの取得ワークフローがOozieコーディネータ・ジョブとしてスケジュールされる頻度。 スケジュール・ワークフローは、分(m)、時間(h)、日(d)および年(y)で指定できます。例: 20mまたは5h。 |
次の表は、新しいOozieランタイム・エンジンを定義する場合に「プロパティ」タブで構成可能なプロパティについて説明しています。
表5-3 Oozieランタイム・エンジンのプロパティ
フィールド | 値 |
---|---|
OOZIE_WF_GEN_MAX_DETAIL |
OozieエンジンのODI Oozieワークフローを生成する際に許可される最大詳細(セッション・レベルまたはきめの細かいタスク・レベル)を制限します。 このプロパティの値をTASKに設定するとすべてのODIタスクに対してOozieアクションが生成され、SESSIONに設定するとセッション全体に対してOozieアクションが生成されます。 |
論理oozieエージェントを作成する手順は、次のとおりです。
トポロジ・ナビゲータで、「論理アーキテクチャ」ナビゲーション・ツリーにある「Oozieランタイム・エンジン」ノードを右クリックします。
「新規論理エージェント」を選択します。
「エージェント名」を入力します。
左側の列の各コンテキストについて、右側の列で既存の物理エージェントを選択します。この物理エージェントはこのコンテキストの論理エージェントと自動的に関連付けられます。
「ファイル」メニューから「保存」を選択します。
Oozieランタイム・エンジンを使用してODIデザイン・オブジェクトまたはシナリオを実行し、OozieエンジンでOozieワークフローを実行できます。ODIデザイン・オブジェクトまたはシナリオを実行する際、Oozieワークフローを実行せず、デプロイだけにとどめておくこともできます。
ODI Oozieワークフローをデプロイまたは実行する手順は、次のとおりです。
デザイナ・ナビゲータの「プロジェクト」メニューで、Oozieワークフローとして実行するマッピングを右クリックし、「実行」をクリックします。
使用して実行ドロップダウン・リストから、Oozieランタイム・エンジンを選択します。
Oozieワークフローを実行せず、デプロイだけにとどめておくには、「デプロイのみ」チェック・ボックスを選択します。
「OK」をクリックします。
「情報」ダイアログが表示されます。
セッションが開始しているかどうか確認し、「情報」ダイアログの「OK」をクリックします。
ODI Oozieワークフローの実行時には、Oozieランタイム・エンジンの頻度プロパティに基づいてログ情報が取得されます。この情報はOozieジョブの状態、進行状況およびパフォーマンスを示します。
アクティブなOozieセッションのログ・データは、「オペレータ」メニューの「ログ・データの取得」をクリックして取得できます。また、oozie WebコンソールまたはMapReduce Webコンソールのoozieセッションに関する情報を、セッション・エディタの「定義」タブに表示されるURLをクリックすることで表示できます。
セッション・エディタ、セッション・ステップ・エディタおよびセッション・タスク・エディタの「詳細」タブには、oozieおよびMapReduceジョブの要約が表示されます。
ODI Oozieワークフローでのuserlib jarのサポートにより、ユーザーはjarファイルをuserlib HDFSディレクトリにコピーできます。このjarファイルはoozie.libpath
プロパティにより生成および発行されるODI Oozieワークフローによって参照されます。
これにより、各ワークフロー・アプリケーションのlib HDFSディレクトリにlibs/jars
がレプリケートされるのを防ぐことができます。userlibディレクトリはHDFSの次の場所にあります。
<ODI HDFS Root>/odi_<version>/userlib