【导读:数据是二十一世纪的石油,蕴含巨大价值,这是·情报通·大数据技术系列第[73]篇文章,欢迎阅读和收藏】

1 基本概念

无论 Windows 或 Linux 操作系统,构建 Spark 开发环境的思路一致,基于 Eclipse 或 Idea ,通过 Java 、 Scala 或 Python 语言进行开发。安装之前需要提前准备好 JDK 、 Scala 或 Python 环境,然后在 Eclipse 中下载安装 Scala 或 Python 插件( Spark 支持 Java 、 Python 等语言)。

2 术语解释

2.1 Spark 与存储系统

如果 Spark 使用 HDFS 作为存储系统,则可以有效地运用 Spark 的 standalone mode cluster ,让 Spark 与 HDFS 部署在同一台机器上。这种模式的部署非常简单,且读取文件的性能更高。当然, Spark 对内存的使用是有要求的,需要合理分配它与 HDFS 的资源。因此,需要配置 Spark 和 HDFS 的环境变量,为各自的任务分配内存和 CPU 资源,避免相互之间的资源争用。

若 HDFS 的机器足够好,这种部署可以优先考虑。若数据处理的执行效率要求非常高,那么还是需要采用分离的部署模式,例如部署在 Hadoop YARN 集群上。

2.2 Spark 对磁盘的要求

Spark 是 in memory 的迭代式运算平台,因此它对磁盘的要求不高。 Spark 官方推荐为每个节点配置 4-8 块磁盘,且并不需要配置为 RAID (即将磁盘作为单独的 mount point )。然后,通过配置 spark.local.dir 来指定磁盘列表。

2.3 Spark 对内存的要求

Spark 虽然是 in memory 的运算平台,但从官方资料看,似乎本身对内存的要求并不是特别苛刻。官方网站只是要求内存在 8GB 之上即可( Impala 要求机器配置在 128GB )。当然,真正要高效处理,仍然是内存越大越好。若内存超过 200GB ,则需要当心,因为 JVM 对超过 200GB 的内存管理存在问题,需要特别的配置。

内存容量足够大,还得真正分给了 Spark 才行。 Spark 建议需要提供至少 75% 的内存空间分配给 Spark ,至于其余的内存空间,则分配给操作系统与 buffer cache 。这就需要部署 Spark 的机器足够干净。

2.4 Spark 对网络的要求

Spark 属于网络绑定型系统,因而建议使用 10G 及以上的网络带宽。

2.5 Spark 对 CPU 的要求

Spark 可以支持一台机器扩展至数十个 CPU core ,它实现的是线程之间最小共享。若内存足够大,则制约运算性能的就是网络带宽与 CPU 数。

40a5d2c7de676f37bbd514cb3d3bef8f.png

3 架构原理介绍

3.1 安装 JDK

(1) 下载 JDK(1.7 以上版本 )

下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html

(2) 配置环境变量 ( 以 Windows 为例 )

新增 JAVA_HOME 变量,值: C:Program FilesJavajdk1.7.0_71

新增 CLASSPATH 变量,值: .;%JAVA_HOME%lib增加 PATH 变量,补充: ;%JAVA_HOME%bin

进入 cmd 界面测试 JDK 是否安装成功:

C:甥敳獲admin>java –version

java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)

3.2 安装 Scala

( 1 )下载 Scala( 下载 Scala 包 )

下载地址 (Scala 主页 ) : http://www.scala-lang.org/download/(Scala 2.9.3 版本可以直接点击该地址下载: Scala 2.9.3 下载后直接点击安装即可 )

( 2 )下载完成后解压,增加 PATH 变量

比如解压目录是 C:Program Files (x86)scala ,然后将“ C:Program Files (x86)scalabin; ”加到环境变量 path 中

进入 cmd 界面测试 Scala 是否安装成功 :

C:甥敳獲admin>scala

Welcome to Scala version 2.10.5 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_7

Type :help for more information.

3.3 配置 Spark 环境变量

( 1 )下载 Spark

下载地址: http://spark.apache.org/downloads.html

下载相应 Hadoop 对应的版本,比如 spark-1.6.2-bin-hadoop2.6.tgz , spark 版本是 1.6.2 ,对应的 hadoop 版本是 2.6

( 2 )下载完成后解压,配置 Spark 的环境变量 ( 以 Windows 为例 )

新增 SPARK_HOME 变量,值: C:Apache Sparkspark-1.6.2-bin-hadoop2.6

新增 SPARK_CLASSPATH 变量,值: ;C:Apache Sparkspark-1.6.2-bin-hadoop2.6libspark-assembly-1.6.2-hadoop2.6.0.jar;

增加 PATH 变量,补充: ;C:Apache Sparkspark-1.6.2-bin-hadoop2.6bin

3.4 安装 Hadoop 工具包

Spark 是基于 Hadoop 之上的,运行过程中会调用相关 Hadoop 库,如果没配置相关 Hadoop 运行环境,会提示相关出错信息,虽然也不影响运行。 Windows 下开发 Spark 不需要在本地安装 Hadoop ,但是需要 winutils.exe 、 hadoop.dll 等文件。

( 1 )下载 Windows 下 Hadoop 工具包(分为 32 位和 64 位的),比如 hadoop-2.6.0.tar.gz

下载地址: https://github.com/sdravida/hadoop2.6_Win_x64/tree/master/bin

https://www.barik.net/archive/2015/01/19/172716/

( 2 )下载完成后解压,配置 Hadoop 的环境变量 ( 以 Windows 为例 )

在本地新建一个 hadoop 目录,其中必须包含有 bin 目录,例如“ D:sparkhadoop-2.6.0bin ”,然后将 winutil 等文件放在 bin 目录下

将相关库添加到系统 Path 变量中: D:hadoop-2.6.0bin ;同时新建 HADOOP_HOME 变量,变量值为: D:hadoop-2.6.0

3.5 安装 Eclipse

在官网下载 Eclipse ,解压缩到本地后直接使用即可。

3.6 安装 Eclipse Scala IDE 插件

( 1 )下载 Eclipse Scala IDE 插件

下载地址: Scala IDE(for Scala 2.9.x and Eclipse Juno)

http://www.scala-lang.org/download/2.7.6.final.html

( 2 )安装 Scala 插件

1. 将 Eclipse Scala IDE 插件中 features 和 plugins 两个目录下的所有文件拷贝到 Eclipse 解压后所对应的目录中。

2. 重新启动 Eclipse ,点击 Eclipse 右上角方框按钮,如下图所示,展开后点击“ Other … . ”,查看是否有“ Scala ”一项,若有则可直接点击打开,否则进行下一步操作。

3. 在 Eclipse 中,依次选择“ Help ” – > “ Install New Software …”,在弹出的对话框里填入 http://download.scala-ide.org/sdk/e38/scala29/stable/site ,并按回车键,可看到以下内容,选择 Scala IDE for Eclipse 和 Scala IDE for Eclipse development support 即可完成 Scala 插件在 Eclipse 上的安装 ( 由于上一步已经将 jar 包拷贝到 Eclipse 中,安装很快,只是疏通一下 ) 。

安装完后,再操作一遍步骤 2 便可。

Logo

一站式 AI 云服务平台

更多推荐