启动spark-shell出错原因

安装好spark,scala, java, hadoop并设置好相应环境变量后,在终端输入spark-shell时出现以下错误:

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.

但启动pyspark却可以正常使用。google了好久,尝试了各种可能的修改方法,最终查出是我安装的java9,与spark兼容出现问题,而python不需要jdk,所以启动pyspark就没有问题。

剩下的就是卸载java9,安装java8了。

java官方给出的卸载方案是,在“终端”窗口中,复制和粘贴命令:

sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -fr /Library/PreferencesPanes/JavaControlPanel.prefPane
sudo rm -fr ~/Library/Application\ Support/Java

最后删除相应的jdk文件(/Library/Java/JavaVirtualMachines/jdk9.jdk)即可完成java的卸载。

重新安装好java8后,spark-shell正常启动scala。

    原文作者:学习之术
    原文地址: https://www.jianshu.com/p/42ca11c4de4a
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞