基于eclipse的spark开发环境搭建(win7)

背景#

Apache Spark已逐渐成为下一代大数据处理工具的典范,它利用内存来处理数据,因而其处理速度远超Hadoop的MapReduce。

江湖传言,大数据工程师钱途无量,不少java开发工程师将目光投向了大数据开发工程师,有意转型成为“玩数据”的人,在未来从事海量数据的处理、分析、统计、挖掘等相关工作。

spark方向大数据开发工程师入门的第一步是搭建开发环境,本文讲述64位win7操作系统下基于eclipse的spark开发环境搭建。

步骤概览#

  1. jdk1.8下载和安装
  2. eclipse4.7下载和安装
  3. scala IDE插件下载和安装
  4. spark下载和配置
  5. hadoop下载和配置
  6. Spark示例运行

操作指南#

1、 jdk1.8下载和安装##

eclipse4.7(oxygen)要求的JRE/JDK版本最低为1.8。
1)打开JDK8u131下载页面(下载地址如下):
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

基于eclipse的spark开发环境搭建(win7)_第1张图片
jdk8u131

2)点选【Accept License Agreement 】,下载获得安装文件jdk-8u131-windows-x64.exe。
3)双击执行jdk-8u131-windows-x64.exe可直接安装JDK1.8,也可以参考下述步骤制作绿色版放置在本机目录(例:D:\Java\jdk1.8.0_131)

  • 鼠标右击jdk-8u131-windows-x64.exe,解压安装包文件到本机目录(例:E:\jdk-8u131-windows-x64)
  • 打开命令提示符,切换到【E:\jdk-8u131-windows-x64.rsrc\1033\JAVA_CAB10】 目录下,执行【extrac32 111】命令。
  E: 
  cd E:\jdk-8u131-windows-x64\.rsrc\1033\JAVA_CAB10
  extrac32 111
  • 将【E:\jdk-8u131-windows-x64.rsrc\1033\JAVA_CAB10】目录下生成的【tools.zip】文件解压到【E:\jdk-8u131-windows-x64.rsrc\1033\JAVA_CAB10\tools】目录,在命令提示符中切换到该目录,执行下述命令创建jar包:
for /r %x in (*.pack) do .\bin\unpack200 -r "%x" "%~dx%~px%~nx.jar"
  • 大功告成,【E:\jdk-8u131-windows-x64.rsrc\1033\JAVA_CAB10\tools】目录就是你想要的绿色版jdk。

4)配置环境变量

  • 新增环境变量【JAVA_HOME】指向jdk目录(例:D:\Java\jdk1.8.0_131)
  • 新增环境变量【CLASSPATH】,设置变量值为【.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar】
  • 修改环境变量【PATH】,在变量值末尾追加【;%JAVA_HOME%\bin; %JAVA_HOME%\jre\bin;】

5)校验JDK环境
打开命令提示符,输入【Java -version】,正常显示jdk版本号代表jdk安装配置成功。

基于eclipse的spark开发环境搭建(win7)_第2张图片
jdk安装成功

2. eclipse4.7下载和安装

1)打开eclipse官网下载页面:
https://www.eclipse.org/downloads/eclipse-packages/

基于eclipse的spark开发环境搭建(win7)_第3张图片
eclipse下载页面

2)下载【Eclipse IDE for Java EE Developers】的window 64版,获得【 eclipse-jee-oxygen-R-win32-x86_64.zip】。

3)解压【eclipse-jee-oxygen-R-win32-x86_64.zip】到本机目录(例:D:\Java\eclipse-jee-oxygen-R-win32-x86_64)

4)打开【D:\Java\eclipse-jee-oxygen-R-win32-x86_64\eclipse】目录下的【eclipse.ini】配置文件,在末尾另起一行添加下述配置:

-Dfile.encoding=utf-8

3. scala IDE插件下载和安装

spark采用scala作为默认编程语言,所以需要为eclipse安装 scala IDE插件。
1)打开scala IDE插件下载页面
http://scala-ide.org/download/prev-stable.html

基于eclipse的spark开发环境搭建(win7)_第4张图片
scalaIDE

2)由于Spark2.1.1基于Scala2.11.8编译,这里选择Scala IDE4.5.0对应的zipfile,获得【base-20161213-1347.zip】,解压到本机目录(例:D:\java\Scala-IDE-211-update-site)。

3)启动eclipse4.7,指定一个workspace(例:D:\java\eclipse-workspace),进入Eclipse主界面。

4)通过【help-->Install New Software...】打开插件安装页,点击【Add】按钮添加Scala IDE插件对应的Repository(通过【Local...】按钮指向目录【D:\java\Scala-IDE-211-update-site\base】),确定后返回。


基于eclipse的spark开发环境搭建(win7)_第5张图片
scalaIDE-Repository

5)勾选【Scala IDE for Eclipse】、【Scala IDE for Eclipse Development Support】、【Scala IDE for Eclipse Source Feature】,点击【Next】按钮完成安装并根据提示重启Eclipse。


基于eclipse的spark开发环境搭建(win7)_第6张图片
scalaIDE-Feature

6)Eclipse重启后,通过【Window --> Perspective --> Open Perspective --> Other...】打开Scala开发透视图。

4. spark下载和配置

Spark官方网站针对多个Hadoop版本提供不同的预编译版,此处选择最新版(搭载Hadoop2.7的Spark2.1.1)。
1)打开Spark下载页面
https://spark.apache.org/downloads.html

基于eclipse的spark开发环境搭建(win7)_第7张图片
spark下载页面

2)下载获得【spark-2.1.1-bin-hadoop2.7.tgz】,解压到本机目录(例:D:\java\spark-2.1.1-bin-hadoop2.7)。

3)在Eclipse工作空间(workspace),通过【Window --> Preferences】打开首选项配置页,切换到【Java --> Build Path --> User Libraries】,为Spark2.1.1创建User Library。


基于eclipse的spark开发环境搭建(win7)_第8张图片
spark user library

4)通过【Add External JARs...】按钮,将Spark2.1.1相关jar包(目录【D:\java\spark-2.1.1-bin-hadoop2.7\jars】中除【scala-compiler-2.11.8.jar】、【scala-library-2.11.8.jar】之外的其他jar包)添加到User Library【Spark2.1.1】中保存。

5. hadoop下载和配置

windows系统开发执行spark程序需要Hadoop环境支持(否则将抛出Failed to locate the winutils binary in the hadoop binary path错误),可以通过第三方组件【winutils】完成。
1、打开winutils在github上的首页面,
https://github.com/steveloughran/winutils/

基于eclipse的spark开发环境搭建(win7)_第9张图片
winutils

2)点击【Clone or download】按钮,然后点击【Download ZIP】按钮下载获得【winutils-master.zip】,将压缩包下【hadoop-2.7.1】文件夹解压到本机目录(例:D:\java\hadoop-2.7.1)。

注:windows本机运行spark需要用到 D:\java\hadoop-2.7.1\bin\winutils.exe

6. Spark示例运行

前文下载的【spark-2.1.1-bin-hadoop2.7.tgz】中包含spark示例代码,打开目录【D:\java\spark-2.1.1-bin-hadoop2.7\examples\src\main】,可以看到spark示例代码包括java、scala、R、python四种,这里演示java示例的JavaWordCount。

1)在Eclipse中创建一个名为【sparkworks-helloworld】的scala工程。

基于eclipse的spark开发环境搭建(win7)_第10张图片
spark-helloworld

2)为【sparkworks-helloworld】工程添加前文创建的User Library【spark2.1.1】,然后创建名为【org.apache.spark.examples】的包。

基于eclipse的spark开发环境搭建(win7)_第11张图片
spark-helloworld Package

3)复制【D:\java\spark-2.1.1-bin-hadoop2.7\examples\src\main\java\org\apache\spark\examples】目录下的【JavaWordCount.java】文件,粘贴到包【org.apache.spark.examples】下。

4)选中【JavaWordCount.java】,通过右键菜单【Run as --> Java Application】执行JavaWordCount的main函数,在控制台可看到下述提示:

Usage: JavaWordCount 

5)选中【JavaWordCount.java】,通过右键菜单【Run as --> Run Configurations...】打开配置界面,切换到Arguments选项卡,配置【Program arguments 】和【 VM arguments 】,前者对应于单词计数程序的输入文件,后者设置Spark运行环境。

基于eclipse的spark开发环境搭建(win7)_第12张图片
JavaWordCount

VM arguments:

-Dspark.master=local[*]
-Dhadoop.home.dir=D:\java\hadoop-2.7.1

6)再次执行JavaWordCount的main函数,可在控制台看到执行结果输出。

结语#

本文讲述64位win7操作系统下基于eclipse的spark开发环境搭建,未涉及大数据集群环境,但足够你启动Local版的spark程序的开发和调试了。

你可能感兴趣的:(基于eclipse的spark开发环境搭建(win7))