2016-10-06 3 views
0

私が知りたいのは、どのように/どこでスパークが必要なジャーを選ぶかです。HUE oozieでスパークジョブを実行できません。例外: "datanucleus-api-jdo-3.2.1.jarは存在しません"

ファイル:/mnt/md0/yarn/nm/usercache/kylin/appcache/application_1468506830246_161908/container_1468506830246_161908_01_000001/datanucleus-api-jdo-3.2.1.jarは存在しません。

<spark-opts> 
    --num-executors 30 
    --executor-memory 18g 
    --executor-cores 15 
    --driver-memory 2g 
    --files hdfs:///jobs/kylin/hive-site.xml 
    --jars datanucleus-api-jdo-3.2.1.jar,datanucleus-rdbms-3.2.1.jar,datanucleus-core-3.2.2.jar 
    --conf spark.shuffle.manager=tungsten-sort 
    --conf spark.shuffle.consolidateFiles=true 
    --conf spark.yarn.executor.memoryOverhead=3072 
    --conf spark.shuffle.memoryFraction=0.7 
    --conf spark.storage.memoryFraction=0.05 
    --conf spark.spot.instances=30 
</spark-opts> 

答えて

1

jarファイルの絶対パスを指定する必要があります。そうでないと、失敗します。

- jarを提供するさまざまな方法については、sparkのマニュアルを参照してください。

spark-submitを使用すると、--jarsオプションに含まれているジャーと一緒にアプリケーションジャーが自動的にクラスタに転送されます。 -jarsの後に指定するURLは、コンマで区切る必要があります。そのリストは、ドライバークラスパスとエグゼキュータクラスパスに含まれています。ディレクトリ拡張は--jarsでは機能しません。

スパークが普及瓶のためのさまざまな戦略を可能にするために、次のURLスキームを使用しています。

ファイル: - 絶対パスとファイル:/ URIは、ドライバのHTTPファイルサーバによって提供されており、すべてのエグゼキュータからファイルを引っ張りますドライバHTTPサーバ。

HDFS:、HTTP :, httpsの:, FTP: -

地元の期待通りこれらは、URIからファイルやJARをプルダウン: - 地元で始まるURI:/は、次のように存在することが予想されます各ワーカー・ノード上のローカル・ファイル。これは、ネットワークIOが発生しないことを意味し、各ワーカーにプッシュされるか、NFS、GlusterFSなどを介して共有される大規模なファイル/ JARに対してうまく機能します。

JARおよびファイルは、 executorノード上の各SparkContextこれは、時間の経過とともにかなりの量のスペースを使い果たし、クリーンアップする必要があります。 YARNを使用すると、クリーンアップは自動的に処理され、Sparkスタンドアロンでは、spark.worker.cleanup.appDataTtlプロパティを使用して自動クリーンアップを設定できます。

ユーザーは、他の依存関係も含めることができます。カンマ区切りのリストを--packagesで指定します。このコマンドを使用するときは、すべての推移的な依存関係が処理されます。追加のリポジトリ(またはSBTのリゾルバ)は、フラグ - リポジトリをカンマ区切りで追加できます。これらのコマンドは、pyspark、spark-shell、およびspark-submitとともに使用して、Sparkパッケージを組み込むことができます。

Pythonの場合、同等の--py-filesオプションを使用して.egg、.zip、および.pyライブラリをエグゼキュータに配布できます。

詳細については、linkをご確認ください。

+0

私は場所が何であり、どのようにジャーを提供しているのかわかりません。 もう1つ、同じ設定が1つのoozie/hueで動作しますが、別のものでは動作しません。それをデバッグする方法? 可能であれば、私たちがjarの場所を提供する方法の例を説明することができます。ありがとう。 –

+0

あなたはこれをどこで実行していますか?あなたの瓶の道は何ですか? –

+0

jarsがHDFSにある場合は、その場所を指定する必要があります。jarがローカルにある場合は、その場所を指定する必要があります。 –

関連する問題