функция потоковой передачи искры время подачи искры через исключение

Я новичок в искровом стриминге.

когда я запускаю функцию потоковой передачи искры как обычное приложение scala, оно работает, как и ожидалось.

Я могу зафиксировать свое событие kafka и сохранить его в самом hdfs.

когда я пытаюсь запустить свою потоковую банку с помощью команды spark-submit, я получаю следующую ошибку.

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

02.16.16 08:39:23 INFO scheduler.JobScheduler: запущен JobScheduler

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)

Пожалуйста помоги мне с этим.

Заранее спасибо.


person Sai    schedule 16.02.2016    source источник


Ответы (1)


InputDStream.id добавлено в Spark Streaming начиная с версии 1.4. Поэтому, скорее всего, spark-kafka-streaming-0.0.1-SNAPSHOT-jar-with-dependencies.jar создается с использованием Spark 1.4+, а версия Spark spark-submit ниже 1.4.

Как правило, вы всегда должны использовать одну и ту же версию для компиляции и выполнения.

Первый шаг — проверка вашей версии Spark-Submit с помощью bin/spark-submit --version. Затем проверьте версию jar-файлов Spark в файле maven pom.xml (или файле сборки sbt) и посмотрите, совпадают ли они. Если нет, обновите любой из них и просто убедитесь, что они одинаковы. Чтобы обновить spark-submit, вам может потребоваться загрузить соответствующую версию с http://spark.apache.org/downloads.html

person zsxwing    schedule 16.02.2016
comment
Привет, zsxwing, спасибо за ответ, тот же проект, когда я пытаюсь запустить обычное приложение scala, работает, как и ожидалось. Если это проблема, связанная с банкой, скажите, пожалуйста, как я могу решить эту проблему. не могли бы вы предложить, как я могу заставить мой spark-kafka-streaming-0.0.1-SNAPSHOT-jar-with-dependencies.jar работать должным образом. Не могли бы вы уточнить ответ. - person Sai; 18.02.2016