Не удается запустить искровую оболочку

Я использую Спарк 1.4.1. Я могу использовать spark-submit без проблем. Но когда я побежал ~/spark/bin/spark-shell

Я получил ошибку ниже, я настроил SPARK_HOME и JAVA_HOME. Однако со Spark 1.2 все было в порядке.

15/10/08 02:40:30 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

Failed to initialize compiler: object scala.runtime in compiler mirror not found.
** Note that as of 2.8 scala does not assume use of the java classpath.
** For the old behavior pass -usejavacp to scala, or if using a Settings
** object programatically, settings.usejavacp.value = true.

Failed to initialize compiler: object scala.runtime in compiler mirror not found.
** Note that as of 2.8 scala does not assume use of the java classpath.
** For the old behavior pass -usejavacp to scala, or if using a Settings
** object programatically, settings.usejavacp.value = true.
Exception in thread "main" java.lang.AssertionError: assertion failed: null
        at scala.Predef$.assert(Predef.scala:179)
        at org.apache.spark.repl.SparkIMain.initializeSynchronous(SparkIMain.scala:247)
        at org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1.apply$mcZ$sp(SparkILoop.scala:990)
        at org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1.apply(SparkILoop.scala:945)
        at org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1.apply(SparkILoop.scala:945)
        at scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135)
        at org.apache.spark.repl.SparkILoop.org$apache$spark$repl$SparkILoop$$process(SparkILoop.scala:945)
        at org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:1059)
        at org.apache.spark.repl.Main$.main(Main.scala:31)
        at org.apache.spark.repl.Main.main(Main.scala)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:665)
        at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:170)
        at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:193)
        at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:112)
        at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

person worldterminator    schedule 08.10.2015    source источник
comment
где вы установили SPARK_HOME? в вашем .bashrc? потому что ошибка, которую вы получили, связана с тем, что SPARK_HOME не установлен, поэтому spark-shell пытается найти ее из dirname   -  person user1314742    schedule 10.04.2016
comment
Что я должен установить для своего SPARK_HOME? Следует ли установить экспорт SPARK_HOME=/usr/local/Cellar/apache-spark/2.2.0/bin?   -  person lordlabakdas    schedule 27.09.2017
comment
Я не думаю, что проблема в SPARK_HOME. Неправильный SPARK_HOME приведет к тому, что скрипт spark-shell не сможет найти spark-submit. Однако я вижу одну и ту же ошибку на своем компьютере, когда я гарантирую, что SPARK_HOME и когда я вызываю spark-submit --class org.apache.spark.repl.Main напрямую.   -  person W.P. McNeill    schedule 06.10.2017


Ответы (3)


У меня была такая же проблема с запуском spark, но я обнаружил, что виноват в том, что неправильно настроил scala. Убедитесь, что у вас установлены Java, Scala и sbt и собран Spark:

Отредактируйте файл .bashrc vim .bashrc

Установите переменные env:

export JAVA_HOME=/usr/lib/jvm/java-7-oracle
export PATH=$JAVA_HOME:$PATH

export SCALA_HOME=/usr/local/src/scala/scala-2.11.5
export PATH=$SCALA_HOME/bin:$PATH

export SPARK_HOME=/usr/local/src/apache/spark.2.0.0/spark
export PATH=$SPARK_HOME/bin:$PATH

Источник ваших настроек. .bashrc

проверить scala scala -версию

убедитесь, что repl запускает scala

если ваш репел начинается, попробуйте снова запустить искровую оболочку. ./path/to/spark/bin/spark-shell

вы должны получить искру repl

person Mods Vs Rockers    schedule 13.09.2016

Вы можете попробовать запустить

spark-shell -usejavacp

У меня это не сработало, но сработало у кого-то в описаниях Spark Issue 18778.

person W.P. McNeill    schedule 05.10.2017

Вы установили scala и sbt?
В журнале указано, что основной класс не найден.

person wlsherica    schedule 05.11.2015
comment
Как вы думаете, это вызвано тем, что sbt и scala не помещены в PATH? - person worldterminator; 10.04.2016