Windows 中 Spark 环境搭建
环境:Win10 + Java (1.8.0_231) + Scala (2.12.10) + Hadoop (2.7.7) + Spark (spark-2.4.4-bin-hadoop2.7)
Java 环境与安装
Oracle 官网 下载 JDK_8u231 (Java 8) ;
Oracle 官网账号分享 (来自于网络):
Oracle 帐号:[email protected],密码:Oracle123
安装后新建环境变量 JAVA_HOME:Java_Install_Path\jdk1.8.0_231
;
添加 %JAVA_HOME%\bin
到环境变量 Path 中 (没有就新建) ;
系统变量或者用户变量应该都行,可以了解一下系统变量和用户变量的区别。
Tips:Java8 好像不用配置 classpath 变量了。
在 cmd 输入 java -version
检查 Java 是否安装成功,出现类似下图表示安装成功:
Scala 安装和配置
Scala 官网 下载 Scala (2.12.10) ;
安装 Scala (Scala 会自动配置环境变量,没有就手动配置 Scala_Install_Path\bin
到 Path 中);
cmd 输入 scala -version
检查 Scala 是否安装成功,出现类似下图表示安装成功:
Tips:之前装的 Scala2.11 出现了 error,不知道是不是和 Java8 不兼容,卸载之后安装 Scala2.12 就好了。
Hadoop 安装和配置
Hadoop releases 下载 Hadoop (2.7.7);
解压后新建环境变量 HADOOP_HOME:Your_Hadoop_Path
,再配置 %HADOOP_HOME%\bin
到 Path 中;
直接配置到 Path 中应该也可以,不想试了。。。
cmd 输入 hadoop
检查 Hadoop 是否安装成功,出现类似下图表示安装成功:
Spark 安装和配置
Spark 官网 下载 Spark (我选择的是 spark-2.4.4-bin-hadoop2.7.tgz);
解压后新建环境变量 SPARK_HOME:Your_Spark_Path
,再配置 %SPARK_HOME%\bin
到 Path 中;
cmd 中输入 spark-shell
检查是否安装成功;一般会出现类似 java.io.IOException: Counld not locate executable ... in the Hadoop binary path
的错误 (图片来自网络):
这是因为缺少 winutil.exe,在 Github winutil 下载对应版本的 winutil.exe (我下的是 2.7.1 的),放在 bin 文件夹下。
再输入 spark-shell
应该还会出现 WARN NativeCodeLoader:62 - Unable to load native-hadoop library for your platform...
类似的 warning (图片来自网络):
还需要在下载 winutil.exe 的地方再下载一个 hadoop.dll,放在同样的 bin 文件夹下;
再重新运行,应该就没有 warning 了:
pyspark 安装和配置
如果用 Python 的话,在上面的配置完成之后,直接 pip install pyspark
应该就可以了,速度慢的话可更换源或者另寻他法。
在 cmd 输入 pyspark
检查是否安装成功,可以再输入 sc.parallelize(range(1000)).count()
测试一下 pyspark 是否能用 (会输出 1000)。