2017-11-02 8 views
0

私はスパークコンテキストを初期化スパーク仕事を持って開始されていない場合、エラーがスローされます。配備モード」である場合には、糸の上にうまく働いたスパークSparkContextが

val conf = new SparkConf() 
val jobs: List[Job] = ??? //get some jobs 
if(jobs.nonEmpty) { 
    val sc = new SparkContext(conf) 
    sc.parallelize(jobs).foreach(....) 
} else { 
    //do nothing 
} 
クライアントクラスタ 『」

spark-submit --master yarn --deploy-mode client 

は、その後、私はに配備モードを切り替え』とそれがjobs.isEmpty

spark-submit --master yarn --deploy-mode cluster 
の場合にクラッシュし始めました以下

はエラーテキストです:

INFO yarn.Client: 17/11/02 11時37分17秒

INFO yarn.Client:アプリケーション: application_1509613523426_0017(ACCEPTED状態)のためのアプリケーション・レポート17/11/02 11時37分17秒

INFO yarn.Client:クライアントトークン:N/A診断:アプリケーション application_1509613523426_0017が appatte用AMコンテナによる2回失敗しました: application_1509613523426_0017(FAILED状態)について報告mpt_1509613523426_0017_000002は終了コードで終了しました: より詳細な出力については-1000、

ページのトラッキングアプリケーションを確認してください。各試行のログへのリンクをhttp://xxxxxx.com:8088/cluster/app/application_1509613523426_0017Then、 クリックします。診断:ファイルが は存在しません: HDFS://xxxxxxx/.sparkStaging/application_1509613523426_0017/__spark_libs__997458388067724499.zip java.io.FileNotFoundExceptionを:ファイルが存在しません: HDFS://xxxxxxx/.sparkStaging/application_1509613523426_0017/__spark_libs__997458388067724499.zipを org.apacheで org.apache.hadoop.hdfs.DistributedFileSystem $ 22.doCall(DistributedFileSystem.java:1301) で org.apache.hadoop.hdfs.DistributedFileSystem $ 22.doCall(DistributedFileSystem.java:1309) で.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(D org.apache.hadoop.yarn.util.FSDownload.copyでistributedFileSystem.java:1301) (FSDownload.java:253) で org.apache.hadoop.yarn.util.FSDownload.access $ 000(FSDownload.java: 63) at org.apache.hadoop.yarn.util.FSDownload $ 2.run(FSDownload.java:361) at org.apache.hadoop.yarn.util.FSDownload $ 2.run(FSDownload.java:359) at java.security.AccessController.doPrivileged(ネイティブメソッド)at javax.security.auth.Subject.doAs(Subject.java:422)at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698) org.apache.hadoop.yarn.util.FSDownload.call(FSDownload.java:358) (org.apache.hadoop.yarn.util.FSDownload.call)(FSDownload.java:62) のjava.util.concurrent.FutureTask.run(FutureTask.java:266)の のjava.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511) のjava.util.concurrent.FutureTask.run( java.langでの java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) でFutureTask.java:266) .Thread.run(スレッド。java:748)

この試みに失敗しました。アプリケーションに失敗しました。 ApplicationMaster ホスト:N/A ApplicationMaster RPCポート:-1キュー:開始時間DEV: 1509622629354最終ステータスを:URLを追跡FAILED: http://xxxxxx.com:8088/cluster/app/application_1509613523426_0017ユーザー:アプリケーション :スレッド "メイン" org.apache.spark.SparkExceptionでxxxの例外をapplication_1509613523426_0017は org.apache.spark.deploy.yarn.Client.run(Client.scala:1104)のエラーステータスが org.apache.spark.deploy.yarn.Client $ .main(Client.scala:1150)で終了しました。 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)で sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)で org.apache.spark.deploy.yarn.Client.main(Client.scala)で で(Javaの場合) sparkSubmit $$ runMain(SparkSubmit.scala:755) を に設定します。org.apache.spark.deploy.SparkSubmit $ .doRunMain $ 1(SparkSubmit.scala:180) at org.apache.spark.deploy.SparkSubmit $ .submit(SparkSubmit.scala:205) at org.apache.spark.deploy.SparkSubmit $ .main(SparkSubmit.scala:119) at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 17/11/02 11:37:17情報util.ShutdownHookManager:シャットダウンフック 17/11/02 11:37:17 INF.ShutdownHookManager:ディレクトリの削除 を/ tmp /火花a5b20def-0218-4b0c-b9f8-fdf8a1802e95

それは糸のサポートのバグですか、私は何かが欠けていますか?

答えて

1

SparkContextは、クラスタマネージャとの通信を担当します。アプリケーションがクラスタに送信されても​​コンテキストが作成されない場合、YARNはアプリケーションの状態を判断できません。これが原因でエラーが発生します。