Windows下Spark环境搭建

1.首先确认jdk的安装,我这里是jdk8

2.Scala的安装

Scala下载Scala,需要注意Scala与Spark版本的对应关系。我这里使用的是Spark2.0.0,Scala选择版本2.11.8。下载二进制版本的Scala,即.msi文件。
双击执行安装。安装成功后,默认会将Scala的bin目录添加到PATH系统变量中去(如果没有,和JDK安装步骤中类似,将Scala安装目录下的bin目录路径,添加到系统变量PATH中),为了验证是否安装成功,开启一个新的cmd窗口,输入scala然后回车,如果能够正常进入到Scala的交互命令环境则表明安装成功。

《Windows下Spark环境搭建》 捕获.PNG

3.Spark的安装

Spark下载Spark,选择对应的Hadoop版本,我这里选择Spark2.0.0对应Hadoop2.6的版本。
这里使用的是Pre-built的版本,意思就是已经编译了好了,下载来直接用就好,Spark也有源码可以下载,但是得自己去手动编译之后才能使用。下载完成后将文件进行解压(可能需要解压两次),最好解压到一个盘的根目录下,并重命名为Spark,简单不易出错。并且需要注意的是,在Spark的文件目录路径名中,不要出现空格,类似于“Program Files”这样的文件夹名是不被允许的
解压后基本上就差不多可以到cmd命令行下运行了。但这个时候每次运行spark-shell(spark的命令行交互窗口)的时候,都需要先cd到Spark的安装目录下,比较麻烦,因此可以将Spark的bin目录添加到系统变量PATH中。例如我这里的Spark的bin目录路径为D:\Spark\bin,那么就把这个路径名添加到系统变量的PATH中即可,方法和JDK安装过程中的环境变量设置一致,设置完系统变量后,在任意目录下的cmd命令行中,直接执行spark-shell命令,即可开启Spark的交互式命令行模式。

4.Hadoop安装

windows下开发spark不需要在本地安装hadoop,但是需要winutils.exe、hadoop.dll等文件。
Hadoop下载预编译好的hadoop-2.6.4.tar.gz。
下载并解压到指定目录,然后到环境变量部分设置HADOOP_HOME为Hadoop的解压目录,我这里是C:\Spark\hadoop,然后再设置该目录下的bin目录到系统变量的PATH下,我这里也就是C:\Spark\hadoop\bin,如果已经添加了HADOOP_HOME系统变量,也可以用%HADOOP_HOME%\bin来指定bin文件夹路径名。
之后去 https://github.com/steveloughran/winutils 选择你安装的Hadoop版本号,然后进入到bin目录下,下载winutils.exe文件。下载好winutils.exe后,将这个文件放入到Hadoop的bin目录下。
在打开的cmd中输入C:\Spark\hadoop\bin\winutils.exe chmod 777 /tmp/Hive这个操作是用来修改权限的。注意前面的C:\Spark\hadoop\bin部分要对应的替换成实际你所安装的bin目录所在位置。

5.运行

经过这几个步骤之后,然后再次开启一个新的cmd窗口,如果正常的话,应该就可以通过直接输入spark-shell
来运行Spark了。正常的运行界面应该如下图所示:

《Windows下Spark环境搭建》 捕获.PNG

报错:

  • 按照网上的做法,C:\Spark\hadoop\bin\winutils.exe chmod 777 /tmp/Hive这步,会报错ChangeFileModeByMask error (3): ???????????
    未发现解决办法,不知道原因,待解决,但尚未发现有何影响。
  • Hadoop运行不了提示java路径不正确问题
    java路径不能放在含有空格的路径下,最早我的jdk放在C:\Program Files目录下,后改成C:\目录下即可运行。

C:\Spark\hadoop\bin>hdfs -ls
Unrecognized option: -ls
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

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