2015-10-08 22 views
6

Tôi đang sử dụng Spark 1.4.1. Tôi có thể sử dụng tính năng phát tia lửa mà không gặp vấn đề gì. Nhưng khi tôi chạy ~/spark/bin/spark-shellKhông thể khởi động chế độ spark-shell

Tôi gặp lỗi bên dưới Tôi đã định cấu hình SPARK_HOMEJAVA_HOME. Tuy nhiên, đã OK với 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

bạn đã đặt 'SPARK_HOME' ở đâu? trong .bashrc của bạn? gây ra lỗi bạn nhận được là do SPARK_HOME không được thiết lập để 'spark-shell' cố gắng tìm nó từ' dirname' – user1314742

+0

Tôi nên đặt SPARK_HOME của mình thành gì? Nó có nên được đặt để xuất SPARK_HOME =/usr/local/Cellar/apache-spark/2.2.0/bin không? – lordlabakdas

+0

Tôi không nghĩ vấn đề là SPARK_HOME. Một SPARK_HOME không chính xác sẽ khiến cho tập lệnh hệ vỏ lửa không tìm thấy trình kích hoạt tia lửa. Tuy nhiên, tôi thấy cùng một lỗi trên máy của tôi khi tôi đảm bảo rằng SPARK_HOME và khi tôi gọi "spark-submit --class org.apache.spark.repl.Main" trực tiếp. –

Trả lời

0

Bạn đã cài đặt scala và sbt chưa?
Nhật ký cho biết họ không tìm thấy lớp học chính.

+0

Bạn có nghĩ rằng nó được gây ra bởi sbt và scala không được đặt trong PATH? – worldterminator

1

Tôi đã gặp sự cố tương tự khi chạy tia lửa nhưng tôi thấy đó là lỗi của tôi vì không định cấu hình đúng định dạng. Đảm bảo bạn có Java, Scala và SBT được cài đặt và Spark được xây dựng:

Chỉnh sửa tập tin .bashrc của bạn vim .bashrc

Đặt biến môi của bạn:

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 

Nguồn thiết lập của bạn . .bashrc

séc scala scala -version

đảm bảo repl bắt đầu scala

nếu unit của bạn bắt đầu cố gắng và bắt đầu vỏ tia lửa của bạn một lần nữa. ./path/to/spark/bin/spark-shell

bạn sẽ nhận được các tia lửa repl

1

Bạn có thể thử chạy

spark-shell -usejavacp 

Nó không làm việc cho tôi, nhưng nó đã làm làm việc cho ai đó trong phần mô tả của Spark Issue 18778.

Các vấn đề liên quan