2017-09-26 23 views
8

Tôi vừa cài đặt tia lửa trên máy mới của mình và gặp lỗi sau khi cài đặt Java, Scala và Apache-spark bằng homebrew. Quá trình cài đặt được đưa ra dưới đây:Spark Shell "Không thể khởi tạo trình biên dịch" Lỗi trên máy mac

$ brew cask install java 
$ brew install scala 
$ brew install apache-spark 

Sau khi cài đặt, khi tôi cố gắng chạy ví dụ cơ bản sử dụng spark-shell, tôi nhận được lỗi sau. Bất kỳ trợ giúp đánh giá rất nhiều.

$ spark-shell 
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties 
Setting default log level to "WARN". 
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). 

Failed to initialize compiler: object java.lang.Object 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 programmatically, settings.usejavacp.value = true. 

Failed to initialize compiler: object java.lang.Object 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 programmatically, settings.usejavacp.value = true. 
Exception in thread "main" java.lang.NullPointerException 
    at scala.reflect.internal.SymbolTable.exitingPhase(SymbolTable.scala:256) 
    at scala.tools.nsc.interpreter.IMain$Request.x$20$lzycompute(IMain.scala:896) 
    at scala.tools.nsc.interpreter.IMain$Request.x$20(IMain.scala:895) 
    at scala.tools.nsc.interpreter.IMain$Request.headerPreamble$lzycompute(IMain.scala:895) 
    at scala.tools.nsc.interpreter.IMain$Request.headerPreamble(IMain.scala:895) 
    at scala.tools.nsc.interpreter.IMain$Request$Wrapper.preamble(IMain.scala:918) 
    at scala.tools.nsc.interpreter.IMain$CodeAssembler$$anonfun$apply$23.apply(IMain.scala:1337) 
    at scala.tools.nsc.interpreter.IMain$CodeAssembler$$anonfun$apply$23.apply(IMain.scala:1336) 
    at scala.tools.nsc.util.package$.stringFromWriter(package.scala:64) 
    at scala.tools.nsc.interpreter.IMain$CodeAssembler$class.apply(IMain.scala:1336) 
    at scala.tools.nsc.interpreter.IMain$Request$Wrapper.apply(IMain.scala:908) 
    at scala.tools.nsc.interpreter.IMain$Request.compile$lzycompute(IMain.scala:1002) 
    at scala.tools.nsc.interpreter.IMain$Request.compile(IMain.scala:997) 
    at scala.tools.nsc.interpreter.IMain.compile(IMain.scala:579) 
    at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:567) 
    at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:565) 
    at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:807) 
    at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:681) 
    at scala.tools.nsc.interpreter.ILoop.processLine(ILoop.scala:395) 
    at org.apache.spark.repl.SparkILoop$$anonfun$initializeSpark$1.apply$mcV$sp(SparkILoop.scala:38) 
    at org.apache.spark.repl.SparkILoop$$anonfun$initializeSpark$1.apply(SparkILoop.scala:37) 
    at org.apache.spark.repl.SparkILoop$$anonfun$initializeSpark$1.apply(SparkILoop.scala:37) 
    at scala.tools.nsc.interpreter.IMain.beQuietDuring(IMain.scala:214) 
    at org.apache.spark.repl.SparkILoop.initializeSpark(SparkILoop.scala:37) 
    at org.apache.spark.repl.SparkILoop.loadFiles(SparkILoop.scala:98) 
    at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply$mcZ$sp(ILoop.scala:920) 
    at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:909) 
    at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:909) 
    at scala.reflect.internal.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:97) 
    at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:909) 
    at org.apache.spark.repl.Main$.doMain(Main.scala:70) 
    at org.apache.spark.repl.Main$.main(Main.scala:53) 
    at org.apache.spark.repl.Main.main(Main.scala) 
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.base/java.lang.reflect.Method.invoke(Method.java:564) 
    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:755) 
    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:180) 
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:205) 
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:119) 
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)` 
+1

Bạn có thể gỡ bỏ cài đặt 'gói scala' và bắt đầu lại? Nó không cần thiết cho Spark khi nó đi kèm với các thư viện/lọ cần thiết rồi. Lỗi này giống như một phiên bản không khớp giữa các phiên bản Scala (và Spark vừa tiết lộ nó). –

Trả lời

21

Spark không tương thích với Java 9, là phiên bản brew cask install java sẽ cài đặt nếu được cập nhật. Nếu bạn đã cài đặt Java 9, những gì bạn cần làm là cài đặt Java 8 thay vì:

brew cask uninstall java 
brew tap caskroom/versions 
brew cask search java 
brew cask install java8 
+1

Thưa bạn, bạn xứng đáng nhận được huy chương :) –

+0

Tôi có thể thử gì khác nữa ngay cả khi điều này không hiệu quả? :( – user3768495

0

win10: Bạn cần phải chuyển đổi sang jdk8: Thiết lập JAVA_HOME = jdk8; Huỷ khỏi đường dẫn C: \ ProgramData \ Oracle \ Java \ javapath; (nó luôn hiển thị jdk9)

+0

Điều này sẽ giúp ích như thế nào? – Sunil

0

Tôi gặp phải vấn đề tương tự. Nhưng khi tôi kiểm tra phiên bản java máy tính xách tay của tôi, nó đã được 9. Tôi chỉ cần thay đổi để java 8 và tìm thấy mọi thứ làm việc tốt.

Chỉ cần kiểm tra giải pháp này. Hy vọng nó sẽ làm việc nếu bạn nhận được lỗi chính xác giống như bắt đầu của chủ đề này.

  • Binod Suman
Các vấn đề liên quan