2015-10-08 10 views
6

Sto utilizzando Spark 1.4.1. Posso usare spark-submit senza problemi. Ma quando mi sono imbattuto ~/spark/bin/spark-shellImpossibile avviare la shell di accensione

ho avuto l'errore sotto Ho configurato SPARK_HOME e JAVA_HOME. Tuttavia, non era male con 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) 
+0

dove hai impostato 'SPARK_HOME'? nel tuo .bashrc? perché l'errore che hai ottenuto è dovuto a SPARK_HOME non è impostato in modo che 'spark-shell' provi a trovarlo dal' dirname' – user1314742

+0

A cosa dovrei impostare SPARK_HOME? Dovrebbe essere impostato per esportare SPARK_HOME =/usr/local/Cellar/apache-spark/2.2.0/bin? – lordlabakdas

+0

Non penso che il problema sia SPARK_HOME. Una SPARK_HOME errata farà sì che lo script spark-shell non riesca a trovare lo spark-submit. Tuttavia, sto vedendo lo stesso errore sulla mia macchina sia quando assicuro che SPARK_HOME e quando chiamo "spark-submit --class org.apache.spark.repl.Main" direttamente. –

risposta

0

Avete installato Scala e sbt?
Il registro dice che non ha trovato la classe principale.

+0

Pensi che sia causato da sbt e scala non vengono messi in PATH? – worldterminator

1

Avevo lo stesso problema con la scintilla, ma ho scoperto che era colpa mia non aver configurato correttamente lo scala. Assicurarsi di avere Java, Scala e SBT installato e Spark è costruita:

Modificare il file .bashrc vim .bashrc

Impostare le variabili 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 

Fonte impostazioni . .bashrc

controllo Scala scala -version

assicurarsi che il repl inizia Scala

se la respingono inizia cercare di avviare nuovamente la shell scintilla. ./path/to/spark/bin/spark-shell

si dovrebbe ottenere il repl scintilla

1

Si potrebbe provare a eseguire

spark-shell -usejavacp 

Non ha funzionato per me, ma lo ha fatto lavorare per qualcuno nelle descrizioni di Spark Issue 18778.

Problemi correlati