火花流功能火花 - 通过例外提交时间

时间:2016-02-16 16:57:52

标签: apache-spark pyspark spark-streaming spark-dataframe akka-stream

我是新手来激发流媒体。

当我像普通的scala应用程序一样运行spark流功能时,它按预期工作。

我能够捕获我的kafka事件并能够存储在hdfs中。

当我尝试使用spark-submit命令作为流媒体jar运行时,我收到了轰鸣声错误。

spark-submit --class Test  --master yarn  --executor-memory 20G --num-executors 50 spark-kafka-streaming-0.0.1-SNAPSHOT-jar-with-dependencies.jar



16/02/16 08:39:23 INFO scheduler.JobGenerator: Started JobGenerator at 1455640800000 ms

16/02/16 08:39:23 INFO scheduler.JobScheduler:已开始JobScheduler    16/02/16 08:40:00 INFO utils.VerifiableProperties:验证属性

16/02/16 08:40:00 INFO utils.VerifiableProperties: Property group.id is overridden to
16/02/16 08:40:00 INFO utils.VerifiableProperties: Property zookeeper.connect is overridden to 
16/02/16 08:40:00 ERROR actor.ActorSystemImpl: Uncaught fatal error from thread [sparkDriver-akka.actor.default-dispatcher-2] shutting down ActorSystem [sparkDriver]
java.lang.NoSuchMethodError: org.apache.spark.streaming.kafka.DirectKafkaInputDStream.id()I
    ache.spark.streaming.kafka.DirectKafkaInputDStream.compute(DirectKafkaInputDStream.scala:165)at org.ap
at ache.spark.streaming.kafka.DirectKafkaInputDStream.compute(DirectKafkaInputDStream.scala:165)at org.ap   at org.apache.spark.streaming.dstream.DStream$$anonfun$getOrCompute$1$$anonfun$1.apply(DStream.scala:300)
at org.apache.spark.streaming.dstream.DStream$$anonfun$getOrCompute$1$$anonfun$1.apply(DStream.scala:300)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57)
at org.apache.spark.streaming.dstream.DStream$$anonfun$getOrCompute$1.apply(DStream.scala:299)
at org.apache.spark.streaming.dstream.DStream$$anonfun$getOrCompute$1.apply(DStream.scala:287)

请帮我解决这个问题。

提前致谢。

1 个答案:

答案 0 :(得分:2)

自1.4以来,

InputDStream.id被添加到Spark Streaming中。因此,使用Spark 1.4+可能生成spark-kafka-streaming-0.0.1-SNAPSHOT-jar-with-dependencies.jar,而spark-submit的Spark版本低于1.4。

通常,您应该始终使用相同的版本进行编译和运行。

第一步是使用bin/spark-submit --version检查您的spark-submit版本。然后检查maven pom.xml(或sbt构建文件)中Spark jar的版本,看看它们是否相同。如果没有,请更新其中一个并确保它们相同。要更新spark-submit,您可能需要从http://spark.apache.org/downloads.html

下载正确的版本