2

いくつかの Spark python スクリプトを Oozie ワークフローとして実行する必要があります。Spark を使用してローカルでスクリプトをテストしましたが、それらを Oozie に送信すると、なぜ機能しないのかわかりません。私は Cloudera VM を使用しており、Oozie は Hue ダッシュボードで管理しています。spark アクションのワークフロー構成は次のとおりです。

Spark Master: local[*]
Mode: client
App name: myApp
Jars/py files: hdfs://localhost:8120/user/cloudera/example.py
Main class: org.apache.spark

何かを出力するだけの簡単な例も実行しようとしましたが、Oozie に送信するすべてのスクリプトで次の出力が得られます。

>>> Invoking Spark class now >>>

Intercepting System.exit(1)

<<< Invocation of Main class completed <<<

Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.SparkMain], exit code [1]

Oozie Launcher failed, finishing Hadoop job gracefully

Oozie Launcher, uploading action data to HDFS sequence file: hdfs://quickstart.cloudera:8020/user/cloudera/oozie-oozi/0000005-161228161942928-oozie-oozi-W/spark-cc87--spark/action-data.seq

Oozie Launcher ends

[編集]

spark master: yarn-cluster を設定した場合にのみワークフローが開始されることがわかりましたが、このモードでも、spark アプリがステータス ACCEPTED のままである間、95% 完了マップでスタックしたままの糸コンテナーが起動されます。Spark アクションを開始できるように、Yarn メモリ パラメータを変更しようとしています。スタウトはハートビートを印刷するだけです

[解決済み]

oozie ワークフローは、py ファイルがローカルにある場合にのみ開始され、hue がワークフロー フォルダーを作成した後に手動で lib フォルダーに挿入されます。最良の解決策は、spark-submit を使用してシェル スクリプトを作成することだと思います。

4

2 に答える 2

0

スパーク履歴を確認する必要があります (hue では、右上隅のオプションの中にジョブ履歴タブがあり、それをクリックすると履歴 URL が表示されます)。それができたら、EXECUTORS タブをチェックして stdout をクリックします。そこに主なエラーが表示されます。OOzie のログは常に読み取り可能ではありません。

于 2016-12-30T09:20:07.240 に答える