Ошибка при выполнении сборки SBT - PullRequest
0 голосов
/ 06 июня 2018

Моя проблема в том, что я пытаюсь выполнить сборку fatjar, сгенерированную с помощью sbt, но я не могу заставить ее работать.Когда я запускаю свой код из IDE (intelliJ), он работает отлично.Однако, как только я сгенерирую сборку с помощью sbt, я получаю 2 разные ошибки в зависимости от команды, которую я использую для выполнения jar: Выполнение jar из java jvm:

java -jar data-self-service-assembly-0.1.jar

Последелая что-то, я получаю эту ошибку в журнале:

[Ljava.lang.StackTraceElement;@7435a578.
No FileSystem for scheme: hdfs

Выполнение jar из spark-submit:

spark2-submit --master yarn --name self-service data-self-service-assembly-0.1.jar

После выполнения некоторых вещей, я получаюэта ошибка в журнале:

[Ljava.lang.StackTraceElement;@290c266c.
No suitable driver

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

Спасибо.

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

наконец-то я смог решить проблему следующим образом:

  • Я получил доступ к серверу истории искр с помощью этого URL: http://quickstart.cloudera:18089/
  • Я получил журнал выполнениячтобы получить больше информации об этом
  • Я видел, что classpath, используемый в spark, был следующим: Classpath","/opt/cloudera/parcels/SPARK2-2.2.0.cloudera2-1.cdh5.12.0.p0.232957/lib/spark2/jars/
  • Поэтому я скопировал файлы jar для jdbc по этому пути
  • ЗатемЯ отправил задание с помощью этой команды: spark2-submit --master yarn --name self-service data-self-service-assembly-0.1.jar

Проблема в том, что я не ожидал, что мне придется выполнять эти действия, потому что я думал, что sbt сможет собрать все необходимые банки иузнайте, где они находятся позже, но здесь есть некоторый конфликт между classpath, используемым spark2-submit и сборкой sbt.

Надеюсь, это поможет.

0 голосов
/ 06 июня 2018

Нанося удар на него

1.Проверьте, есть ли в вашем коде фрагмент ниже

.setMaster("local[2]")

Вы можете удалить это

2.Проверьте путь конфига искры.

spark-submit --verbose --master yarn-cluster  --files   --properties-file {spark_conf_file_location} --class {main_class}  {jar_location}
...