写在前面
具体安装流程可以参考:
Spark在Windows下的环境搭建
以及python+pycharm+pyspark+windows搭建spark环境+各种踩坑
我的问题
已安装spark、jdk、hadoop、scala,java、scala、hadoop都能通过cmd打开,但是始终无法成功打开spark-shell
寻找问题
我的JAVA_HOME、SPARK_HOME都是自定义的,结尾有一个分号之前一直也没觉得有什么问题。
而且我在cmd打java是可以正确显示的,所以我一直以为我的JAVA_HOME设置的是对的。直到我打javac无法显示,我才发现有问题
我仔细看了环境变量path的值,发现第一行有一个“C:\Program Files (x86)\Common Files\Oracle\Java”,而这个路径下是有java.exe的! 然后看这个修改日期我意识到这是我今天早上重新装的jdk自动加的路径。
也就是说,之前打java正确运行根本就不是走的我设置的JAVA_PATH,而是安装时自动设置的环境变量!
在我将这个自动加的变量去掉以后,果然,在cmd输入java也提示无法打开
所以,是JAVA_HOME的设置问题! 我仔细观察了JAVA_HOME与其他原有变量的区别,发现最大的区别就是多了个分号,于是我尝试将分号去掉,果然就成功了!
然后我就注意到原来只有JAVA_HOME和SPARK_HOME这两个变量我设置的时候加了分号,而HADOOP_HOME和SCALA_HOME我都没加(所以这两个运行正常)
于是立刻马上也把SPARK_HOME的末尾分号去掉,去除的方法如下:
然后就,成功啦!
一些tips
至此,我的环境安装终于结束了,因为一个小小的分号,我已经配了三天环境了…
有一些小点提醒正在配环境的人:
- 使用pyspark还需要安装jdk、scala、hadoop
- 注意以上这些软件的版本匹配,我建议跟着一篇博客然后全部照着他的装
- 装老版本就行啦 不用追新
- 注意jdk用的都是jdk8 版本太高好像会不兼容
- hadoop 显示Please update D:\App\hadoop-3.2.2\etc\hadoop\hadoop-env.cmd DEPRECATED时很可能是你下载的源文件是需要修改的,参考hadoop 显示Please update D:\App\hadoop-3.2.2\etc\hadoop\hadoop-env.cmd DEPRECATED
就这样,祝大家早日脱离苦海