java.lang.ClassCastException: org.apache.hadoop.conf.Configuration нельзя преобразовать в org.apache.hadoop.yarn.conf.YarnConfiguration

Я запускаю приложение Spark, используя пряжу в cloudera. Версия Spark: 2.1

Я получаю следующую ошибку:

SLF4J: путь к классу содержит несколько привязок SLF4J. SLF4J: обнаружена привязка в [jar: file: /data/yarn/nm/filecache/13/jars/slf4j-log4j12-1.7.16.jar! /Org/slf4j/impl/StaticLoggerBinder.class] SLF4J: обнаружена привязка в [ jar: файл: /opt/cloudera/parcels/CDH-5.10.2-1.cdh5.10.2.p0.5/jars/slf4j-log4j12-1.7.5.jar! /org/slf4j/impl/StaticLoggerBinder.class] SLF4J: см. http://www.slf4j.org/codes.html#multiple_bindings. для объяснения. SLF4J: Фактическая привязка имеет тип [org.slf4j.impl.Log4jLoggerFactory] 18/04/14 22:20:57 INFO util.SignalUtils: Зарегистрированный обработчик сигналов для TERM 18/04/14 22:20:57 INFO util.SignalUtils : Зарегистрированный обработчик сигнала для HUP 18/04/14 22:20:57 INFO util.SignalUtils: Зарегистрированный обработчик сигнала для исключения INT в потоке "main" java.lang.ClassCastException: org.apache.hadoop.conf.Configuration не может быть приведен в org.apache.hadoop.yarn.conf.YarnConfiguration в org.apache.spark.deploy.yarn.ApplicationMaster. (ApplicationMaster.scala: 60) в org.apache.spark.deploy.yarn.ApplicationMaster $$ anonfun $ main $ 1 .apply $ mcV $ sp (ApplicationMaster.scala: 764) в org.apache.spark.deploy.SparkHadoopUtil $$ при запуске $ 1. (SparkHadoopUtil.scala: 67) в org.apache.spark.deploy.SparkHadoopUtil $$ при $ 1 .run (SparkHadoopUtil.scala: 66) в java.security.AccessController.doPrivileged (собственный метод) в javax.security.auth.Subject.doAs (Subject.java:415) в org.apache.hadoop.security.U serGroupInformation.doAs (UserGroupInformation.java:1656) в org.apache.spark.deploy.SparkHadoopUtil.runAsSparkUser (SparkHadoopUtil.scala: 66) в org.apache.spark.deploy.yarn.ApplicationMaster $ .main (763.scala) ) в org.apache.spark.deploy.yarn.ApplicationMaster.main (ApplicationMaster.scala)


person user3725190    schedule 14.04.2018    source источник
comment
У меня такая же проблема. Вы нашли решение этой проблемы?   -  person hayat    schedule 25.04.2018
comment
@hayat, пожалуйста, просмотрите ответ ниже   -  person user3725190    schedule 26.04.2018
comment
У меня был такой же pb, и я сделал исключение, чтобы принудительно использовать кластер lib. конфигурации {runtimeonly {exclude group: 'org.apache.spark'}}   -  person Marcel kobain    schedule 01.12.2020


Ответы (1)


Мне удалось решить эту проблему, убедившись, что версия spark, настроенная в переменной SPARK_HOME, соответствует версии hadoop, установленной в cloudera. По следующей ссылке https://spark.apache.org/downloads.html вы можете скачать подходящую версию для вашего требуемого hadoop. Версию пикши в cloudera можно найти по:

$ hadoop version
person user3725190    schedule 26.04.2018
comment
Это может произойти, даже если ваша версия SPARK локально отличается от целевой версии. Будьте особенно осторожны, когда на одном компьютере много установок, и ваш SPARK_HOME указывает точно на ту же версию, что и сервер. - person fracca; 11.02.2019