Azure HDInsight での Apache Oozie のトラブルシューティング

Apache Oozie UI では、Oozie のログを見ることができます。 また、Oozie UI には、ワークフローによって開始された MapReduce タスクの JobTracker ログへのリンクも含まれます。 トラブルシューティングのパターンは次のようになります。

  1. Oozie Web UI でジョブを表示します。

  2. 特定のアクションでエラーまたは障害が発生した場合は、そのアクションを選択して、[Error Message] フィールドにエラーの詳細情報が示されているかどうかを確認します。

  3. 可能な場合は、アクションから URL を使って、アクションの詳細 (JobTracker ログなど) を表示します。

発生する可能性のある具体的なエラーとその解決方法を次に示します。

JA009: クラスターを初期化できません

問題

ジョブの状態が SUSPENDED に変更されます。 ジョブの詳細に、RunHiveScript の状態が START_MANUAL と示されます。 アクションを選択すると、次のエラー メッセージが表示されます。

JA009: Cannot initialize Cluster. Please check your configuration for map

原因

job.xml ファイルで使われている Azure Blob Storage アドレスに、ストレージ コンテナー名またはストレージ アカウント名が含まれていません。 Blob Storage アドレスは、wasbs://containername@storageaccountname.blob.core.windows.net という形式にする必要があります。

解決方法

ジョブが使う Blob Storage アドレスを変更します。


JA002: Oozie では <USER> の偽装が許可されていません

問題

ジョブの状態が SUSPENDED に変更されます。 ジョブの詳細に、RunHiveScript の状態が START_MANUAL と示されます。 アクションを選ぶと、次のエラー メッセージが表示されます。

JA002: User: oozie is not allowed to impersonate <USER>

原因

現在のアクセス許可設定で、Oozie が指定されたユーザー アカウントを偽装することを許可していません。

解決方法

Oozie では、 users グループ内のユーザーを偽装できます。 groups USERNAME を使用して、ユーザー アカウントがメンバーとして属するグループを確認します。 ユーザーが users グループのメンバーでない場合は、次のコマンドを使用して、ユーザーをグループに追加します。

sudo adduser USERNAME users

Note

ユーザーがグループに追加されたことを HDInsight が認識するまで数分かかる場合があります。


Launcher ERROR (ランチャー エラー) (Sqoop)

問題

ジョブの状態が KILLED に変更されます。 ジョブの詳細に、RunSqoopExport の状態が ERROR と示されます。 アクションを選ぶと、次のエラー メッセージが表示されます。

Launcher ERROR, reason: Main class [org.apache.oozie.action.hadoop.SqoopMain], exit code [1]

原因

Sqoop が、データベースにアクセスするために必要なデータベース ドライバーを読み込むことができません。

解決方法

Oozie ジョブから Sqoop を使うときは、ジョブが使う他のリソース (workflow.xml など) とともにデータベース ドライバーを含める必要があります。 また、workflow.xml の <sqoop>...</sqoop> セクションから、データベース ドライバーが格納されたアーカイブを参照します。

たとえば、Hadoop Oozie ワークフローの使用に関するページのジョブ例では、次の手順を使用します。

  1. mssql-jdbc-7.0.0.jre8.jar ファイルを /tutorials/useoozie ディレクトリにコピーします。

    hdfs dfs -put /usr/share/java/sqljdbc_7.0/enu/mssql-jdbc-7.0.0.jre8.jar /tutorials/useoozie/mssql-jdbc-7.0.0.jre8.jar
    
  2. workflow.xml を変更して、</sqoop> の上の新しい行に次の XML を追加します。

    <archive>mssql-jdbc-7.0.0.jre8.jar</archive>
    

次のステップ

問題がわからなかった場合、または問題を解決できない場合は、次のいずれかのチャネルでサポートを受けてください。

  • Azure コミュニティのサポートを通じて Azure エキスパートから回答を得る。

  • カスタマー エクスペリエンスを向上させるための Microsoft Azure の公式アカウントの @AzureSupport に連絡する。 Azure コミュニティで適切なリソース (回答、サポート、エキスパートなど) につながる。

  • さらにヘルプが必要な場合は、Azure portal からサポート リクエストを送信できます。 メニュー バーから [サポート] を選択するか、 [ヘルプとサポート] ハブを開いてください。 詳細については、「Azure サポート要求を作成する方法」を参照してください。 サブスクリプション管理と課金サポートへのアクセスは、Microsoft Azure サブスクリプションに含まれていますが、テクニカル サポートはいずれかの Azure のサポート プランを通して提供されます。