本文以Scala为主来介绍Spark在Windows环境下的搭建过程,主要包括以下四个步骤:
- JDK的安装
- scala的安装
- Spark的下载和配置
- Hadoop的下载和配置。
1. JDK的安装与环境变量的设置
1.1 JDK的安装
首先下载JDK(JavaTM Platform Standard Edition Development Kit),一般进入页面后,会默认显示一个最新版的JDK,本文使用的版本是JDK 8,点击下载:
对于普通开发人员来说,两个版本的JDK区别不大,推荐使用JDK 8u151版本。
JDK在windows下的安装非常简单,步骤省略……
1.2 环境变量的设置
如果使用了JDK7及更低版本,需要在安装后添加环境变量(JDK8及更高版本无需设置),具体方法如下:
在任意资源管理器页面,右击此电脑
/我的电脑
- 属性
- 高级系统设置
- 环境变量
,然后在系统变量中找到Path
变量,并选择编辑
按钮(或双击Path
)后出来一个对话框,可以在里面添加上一步中所安装的JDK目录下的bin文件夹路径名,注意用英文的分号“;”进行分割(Windows10系统每个Path单独占一行)。设置完毕,便可以在任意目录下打开的cmd命令行窗口下运行:
java -version
javac -version
如果输出相关java的版本信息,则说明JDK安装成功。
为了方便Spark调用java,还需要配置JAVA_HOME
变量,它存在的意义是告诉那些软件JDK的安装目录(注意不是bin目录),具体配置方法同上。
二. Scala的安装
首先从DOWNLOAD PREVIOUS VERSIONS下载到对应的版本,在这里需要注意的是,Spark的各个版本需要跟相应的Scala版本对应,具体对应情况在Spark页面查看。选择适合自己需要的版本后,会进入到该版本的具体下载页面,如下图所示,下载二进制版本的Scala(msi版本),双击执行安装。安装成功后,默认会将Scala的bin
目录添加到PATH
系统变量中去(如果没有,和JDK安装步骤中类似,将Scala安装目录下的bin
目录路径,添加到系统变量PATH
中),为了验证是否安装成功,开启一个新的cmd窗口,输入scala然后回车,如果能够正常进入到Scala的交互命令环境则表明安装成功。
三. Spark的下载和配置
Spark的安装非常简单,直接去Download Apache Spark,选择好对应Hadoop版本的Spark版本,下载Pre-built版本对应的tgz文件即可。下载完成后将文件进行解压(可能需要解压两次),最好解压到一个盘的根目录下,并重命名为Spark,简单不易出错。并且需要注意的是,在Spark的文件目录路径名中,不要出现空格,类似于Program Files
这样的文件夹名是不被允许的。
解压后基本上就差不多可以到cmd命令行下运行了。但这个时候每次运行spark-shell(spark的命令行交互窗口)的时候,都需要先cd到Spark的安装目录下,比较麻烦,因此可以将Spark的bin目录添加到系统变量PATH中,方法和JDK安装过程中的环境变量设置一致,设置完系统变量后,在任意目录下的cmd命令行中,直接执行spark-shell命令,即可开启Spark的交互式命令行模式。
四.HADOOP的下载和配置
系统变量设置后,就可以在任意当前目录下的cmd中运行spark-shell,但这个时候很有可能会碰到各种错误,这里主要是因为Spark是基于Hadoop的,所以这里也有必要配置一个Hadoop的运行环境。在Hadoop Releases里可以看到Hadoop的各个历史版本,选择版本要与Spark相对应,选择好相应版本并点击后,进入详细的下载页面,这里上面的src版本就是源码,需要对Hadoop进行更改或者想自己进行编译的可以下载对应src文件,建议使用已经编译好的版本,即非src版本。
下载并解压到指定目录,然后到环境变量部分设置HADOOP_HOME
为Hadoop的解压目录,然后再设置该目录下的bin目录到系统变量的PATH下,如果已经添加了HADOOP_HOME系统变量,也可以用%HADOOP_HOME%\bin
来指定bin文件夹路径名。这两个系统变量设置好后,开启一个新的cmd,然后直接输入spark-shell命令。
正常情况下是可以运行成功并进入到Spark的命令行环境下的,但是对于有些用户可能会遇到空指针的错误。这个时候,主要是因为Hadoop的bin目录下没有winutils.exe文件的原因造成的。需要下载相应版本的winutils.exe文件,首先选择安装的Hadoop版本号,下载bin目录下的winutils.exe,下载好winutils.exe后,将这个文件放入到Hadoop的bin目录下即可。
在直接输入spark-shell命令后,Spark开始启动,并且输出了一些日志信息,看到
Spark context available as sc.
SQL context available as sqlContext.
表明Spark启动成功。
参考链接:http://blog.youkuaiyun.com/u011513853/article/details/52865076