有时候我们会在windows 下开发spark程序,测试程序运行情况,再部署到真实服务器中运行。
那么本文介绍如何在windows 环境中搭建简单的基于hadoop 的spark 环境。 我的windows环境为 Win7 64位
第一步,安装Python环境
这里不多讲,我的环境为python 3.6
第二步,安装Java 环境
我的环境为
C:\Users\Boss>java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
第三步:下载spark
-
下载Spark2.2.0,注意与操作系统版本一致
请注意:选择了spark版本后会出现一个连接,如下图红色区域,此时竟然可以下载,但是这里下载的文件是不正确的,应该点击此连接进入下一个页面。
这里才是正确的下载地址。
第四步:安装Spark
-
只需解压程序包,并拷贝至存放路径,注意安装路径中的文件夹名称不要存在空格
配置环境变量
-
配置系统变量PATH,添加解压后Spark 目录下面的bin 和sbin 两个目录到PATH中
配置日志显示级别 (这样使得log日志输出少很多)
-
选择…\spark\conf\目录下log4j.properties.template,复制为log4j.properties
-
将log4j.properties中,"INFO, console"改为"WARN, console"
第五步:配置Hadoop(这里并不需要配置一个hadoop 伪分布式,仅仅是为spark提供一个hadoop环境模块而已)
下载地址为:https://github.com/LemenChao/Introduction-to-Data-Science/blob/master/Hadoop/hadoop.dll-and-winutils.exe-for-hadoop2.7.3-on-windows_X64-master.zip
安装
只需解压程序包,并拷贝至存放路径,注意安装路径中的文件夹名称不要存在空格
配置环境变量
- 增加用户变量HADOOP_HOME,值是下载的zip包解压的目录,然后在系统变量path里增加$HADOOP_HOME\bin (此步骤如果没有,则运行spark时会抛出Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable
null
\bin\winutils.exe in the Hadoop binaries 异常,因为运行环境需要根据HADOOP_HOME找到winutils.exe,由于win机器并没有配置该环境变量,所以程序报 null\bin\winutils.exe
) -
配置系统变量PATH,添加Hadoop解压后的bin 路径 如c:/hadoop/bin到Path中
到此安装完毕,本地具有了一个基础Spark版本
如何测试
方法一:测试spark-shell
在cmd中输入spark-shell,查看Spark版本信息
方法二:测试 pyspark
在cmd中输入pyspark,查看Pyspark版本信息
方法三:运行自带的Spark example测序
打开cmd,输入spark-submit --class org.apache.spark.examples.SparkPi --master local [spark exmple 路径]
比如我的路径下,命令为(此example为计算pi值)
spark-submit --class org.apache.spark.examples.SparkPi --master local D:\tools\bigdata\spark243\examples\jars\spark-examples_2.11-2.4.3.jar