2017-03-08 21 views
1

spark(2.1.0)ジョブスカラ依存関係を見つけることが困難です。java.util.concurrent.ExecutionException:kinesis sparkジョブを実行しているときにjava.lang.NoSuchMethodError例外が発生しました

マイbuild.sbtファイル:

name := "test" 

version := "0.0.1" 

scalaVersion := "2.11.0" 

libraryDependencies += "org.apache.spark" %% "spark-core" % "2.1.0" % "provided" 
libraryDependencies += "org.apache.spark" %% "spark-streaming" % "2.1.0" % "provided" 
libraryDependencies += "org.apache.spark" %% "spark-streaming-kinesis-asl" % "2.1.0" 
libraryDependencies += "com.typesafe.play" %% "play-json" % "2.5.1" 

assemblyJarName in assembly := "test.jar" 


mergeStrategy in assembly <<= (mergeStrategy in assembly) { (old) => 
    { 
    case m if m.toLowerCase.endsWith("manifest.mf") => MergeStrategy.discard 
    case m if m.startsWith("META-INF") => MergeStrategy.discard 
    case PathList("javax", "servlet", xs @ _*) => MergeStrategy.first 
    case PathList("org", "apache", xs @ _*) => MergeStrategy.first 
    case PathList("org", "jboss", xs @ _*) => MergeStrategy.first 
    case "about.html" => MergeStrategy.rename 
    case "reference.conf" => MergeStrategy.concat 
    case _ => MergeStrategy.first 
    } 
} 

exportJars:= true 

mainClass in assembly := Some("test.Job") 
``` 

私は私の仕事を実行すると、それはjava.lang.NoSuchMethodError例外をスローします。

17/03/08 05:19:15 INFO storage.BlockManager: Removing RDD 87 
17/03/08 05:19:15 INFO storage.BlockManager: Removing RDD 86 
17/03/08 05:19:15 INFO storage.BlockManager: Removing RDD 85 
17/03/08 05:19:15 ERROR worker.Worker: Worker.run caught exception, sleeping for 1000 milli seconds! 
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: com.amazonaws.services.kinesis.model.GetRecordsResult.getMillisBehindLatest()Ljava/lang/Long; 
    at com.amazonaws.services.kinesis.clientlibrary.lib.worker.ShardConsumer.checkAndSubmitNextTask(ShardConsumer.java:156) 
    at com.amazonaws.services.kinesis.clientlibrary.lib.worker.ShardConsumer.consumeShard(ShardConsumer.java:125) 
    at com.amazonaws.services.kinesis.clientlibrary.lib.worker.Worker.run(Worker.java:335) 
    at org.apache.spark.streaming.kinesis.KinesisReceiver$$anon$1.run(KinesisReceiver.scala:174) 
Caused by: java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: com.amazonaws.services.kinesis.model.GetRecordsResult.getMillisBehindLatest()Ljava/lang/Long; 
    at java.util.concurrent.FutureTask.report(FutureTask.java:122) 
    at java.util.concurrent.FutureTask.get(FutureTask.java:192) 
    at com.amazonaws.services.kinesis.clientlibrary.lib.worker.ShardConsumer.checkAndSubmitNextTask(ShardConsumer.java:136) 
    ... 3 more 
Caused by: java.lang.NoSuchMethodError: com.amazonaws.services.kinesis.model.GetRecordsResult.getMillisBehindLatest()Ljava/lang/Long; 
    at com.amazonaws.services.kinesis.clientlibrary.lib.worker.ProcessTask.getRecordsResultAndRecordMillisBehindLatest(ProcessTask.java:291) 
    at com.amazonaws.services.kinesis.clientlibrary.lib.worker.ProcessTask.getRecordsResult(ProcessTask.java:249) 
    at com.amazonaws.services.kinesis.clientlibrary.lib.worker.ProcessTask.call(ProcessTask.java:120) 
    at com.amazonaws.services.kinesis.clientlibrary.lib.worker.MetricsCollectingTaskDecorator.call(MetricsCollectingTaskDecorator.java:49) 
    at com.amazonaws.services.kinesis.clientlibrary.lib.worker.MetricsCollectingTaskDecorator.call(MetricsCollectingTaskDecorator.java:24) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
+1

あなたはこれをチェックしましたか?http://stackoverflow.com/questions/38237345/kinesis-stream-with-empty-records-in-google-dataproc-with-spark-1-6-1-hadoop-2-7 ? – semsorock

答えて

0

aws emrでこれを実行していますか? ので、以下のリンクが役立つ可能性がある場合:

Spark streaming 1.6.1 is not working with Kinesis asl 1.6.1 and asl 2.0.0-preview http://www.waitingforcode.com/apache-spark/shading-solution-dependency-hell-spark/read

を本質的AWS EMRが火花ストリーミングを、いるProtobuf 2.5、しかしスパークコアをサポートし、火花ストリーミングキネシス-ASLのバージョンのすべてがいるProtobufに依存2.6.1、私たちがこの問題を遭遇したときの方法は、陰影のついた瓶を通して行いました。上の2つのリンクは、どのように設定するのかの良い例を示しています。

関連する問題