目的

安装Spark

在spark-shell中运行代码

编写Spark独立应用程序

基础环境

Spark支持4种不同类型的部署方式,包括:Local模式:单机模式 Standalone模式:使用Spark自带的简单集群管理器 YARN模式:使用YARN作为集群管理器 Mesos模式:使用Mesos作为集群管理器

Spark可以独立安装使用,也可以和Hadoop一起安装使用。安装了Hadoop后,就可以让Spark使用HDFS存取数据。不安装Hadoop,Spark只能访问本地文件系统数据。需要说明的是,当安装好Spark以后,里面就自带了scala环境,不需要额外安装scala。

本次实验采用Hadoop(伪分布式)+Spark(local)模式。安装Spark之前需要安装Linux系统、Java环境 ,Hadoop。

下载安装

Spark安装包下载地址: ​​spark.apache.org​

进入下载页面后,点击主页右侧的“Download Spark”按钮进入下载页面,下载页面中提供了几个下载选项,主要是Spark release及Package type的选择,如下图所示。第1项Spark release一般默认选择最新的发行版本,截至2018年4月份的最新版本为2.3.0(本教程采用2.1.0)。第2项package type则选择“Pre-build with user-provided Hadoop [can use with most Hadoop distributions]”,可适用于多数Hadoop版本。选择好之后,再点击第4项给出的链接就可以下载Spark了。

#yyds干货盘点#spark安装_集群管理

解压安装包spark-2.1.0-bin-without-hadoop.tgz至路径 /usr/local:

通过运行Spark自带的示例,验证Spark是否安装成功。cd /usr/local/spark bin/run-example SparkPi 执行时会输出非常多的运行信息,输出结果不容易找到,可以通过 grep 命令进行过滤(命令中的 2>&1 可以将所有的信息都输出到 stdout 中,否则由于输出日志的性质,还是会输出到屏幕中): bin/run-example SparkPi 2>&1 | grep "Pi is"

#yyds干货盘点#spark安装_spark_02 Spark Shell可以以实时、交互的方式来分析数据,也可以使用sbt或者maven编译打包运行。推荐初学使用第一种。 Spark Shell支持Scala和Python,由于Spark框架本身就是使用Scala语言开发的,所以使用spark-shell命令会默认进入Scala的交互式执行环境。如果要进入Python的交互式执行环境,则要执行pyspark命令。

在spark-shell中运行代码

执行如下命令启动Spark Shell(默认是local模式):

$ cd /usr/local/spark

$ ./bin/spark-shell 

启动Spark Shell成功后在输出信息的末尾可以看到“Scala >”的命令提示符

#yyds干货盘点#spark安装_hadoop_03

可以在里面输入scala代码进行调试:

#yyds干货盘点#spark安装_jar_04

可以使用命令“:quit”退出Spark Shell:

#yyds干货盘点#spark安装_scala_05

或者,也可以直接使用“Ctrl+D”组合键,退出Spark Shell

编写Spark独立应用程序

1.安装sbt

sbt是一款Spark用来对scala编写程序进行打包的工具,Spark 中没有自带 sbt,需要下载安装 #yyds干货盘点#spark安装_jar_06 下载sbt安装包以后,执行如下命令拷贝至 /usr/local/sbt 中:

​ cp ~/下载/sbt-launch.jar .​

接着在 /usr/local/sbt 中创建 sbt 脚本(vim ./sbt),添加如下内容:

!/bin/bash
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
java $SBT_OPTS -jar `dirname $0`/sbt-launch.jar "$@"

保存后,为 ./sbt 脚本增加可执行权限:

#yyds干货盘点#spark安装_scala_07

最后运行如下命令,检验 sbt 是否可用(需要几分钟时间)(请确保电脑处于联网状态,首次运行会处于 “Getting org.scala-sbt sbt 0.13.11 …” 的下载状态,请耐心等待。等待了 75分钟才出现第一条下载提示):

查看版本

#yyds干货盘点#spark安装_jar_08

出现如下结果

#yyds干货盘点#spark安装_集群管理_09

成功