2016-10-05 7 views
0

私はCDH 5.7でSpark 1.6.0を実行しています。私は元のアプリケーションを1.4.1から1.6.0にアップグレードしました。私は(以前にうまく働いた)自分のアプリケーションを実行しようとすると、私は次のエラーを取得する:Spark 1.6でIllegalArgumentExceptionが発生しました

Exception in thread "main" java.lang.IllegalArgumentException: requirement failed 
     at scala.Predef$.require(Predef.scala:221) 
     at org.apache.spark.deploy.yarn.Client$$anonfun$prepareLocalResources$6$$anonfun$apply$3.apply(Client.scala:473) 
     at org.apache.spark.deploy.yarn.Client$$anonfun$prepareLocalResources$6$$anonfun$apply$3.apply(Client.scala:471) 
     at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33) 
     at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108) 
     at org.apache.spark.deploy.yarn.Client$$anonfun$prepareLocalResources$6.apply(Client.scala:471) 
     at org.apache.spark.deploy.yarn.Client$$anonfun$prepareLocalResources$6.apply(Client.scala:469) 
     at scala.collection.immutable.List.foreach(List.scala:318) 
     at org.apache.spark.deploy.yarn.Client.prepareLocalResources(Client.scala:469) 
     at org.apache.spark.deploy.yarn.Client.createContainerLaunchContext(Client.scala:725) 
     at org.apache.spark.deploy.yarn.Client.submitApplication(Client.scala:143) 
     at org.apache.spark.deploy.yarn.Client.run(Client.scala:1023) 
     at org.apache.spark.deploy.yarn.Client$.main(Client.scala:1083) 
     at org.apache.spark.deploy.yarn.Client.main(Client.scala) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731) 
     at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181) 
     at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206) 
     at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121) 
     at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 

私が申請書を提出:

  • --jarsは絶対と瓶のカンマ区切りリスト(ありますパス)
  • --files
  • ​​は完全なパスなしでリソースのコロンで区切られたリスト(、単にファイル名である)絶対パスで(ファイルのカンマ区切りリストです)

私はドライバー(およびエグゼキュータ)クラスパスのフルパスで試しましたが、それは私に同じ問題をもたらします。アプリと共に提出されたすべてのファイルとjarファイルが存在しています。

これはduplicates in the distributed cacheの問題と関連していますか、それともこの問題ですか?

ソースコードから、requireへのカスタムメッセージなしの(スタックトレース内の)唯一の呼び出しは、distribute()メソッドに関連していることがわかります。もしそうなら、どうすればSparkをアップグレードせずにアプリケーションを実行できますか?

+0

依存関係がないように見えます。 – LiMuBei

答えて

0

これは、同じパス/ URIが--filesオプションの引数に2回表示されたことによる例外です。

関連する問題