Spark环境搭建和使用方法
目的
安装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安装包下载地址: http://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了。
解压安装包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”
Spark Shell可以以实时、交互的方式来分析数据,也可以使用sbt或者maven编译打包运行。推荐初学使用第一种。
Spark Shell支持Scala和Python,由于Spark框架本身就是使用Scala语言开发的,所以使用spark-shell命令会默认进入Scala的交互式执行环境。如果要进入Python的交互式执行环境,则要执行pyspark命令。
在spark-shell中运行代码
执行如下命令启动Spark Shell(默认是local模式):
启动Spark Shell成功后在输出信息的末尾可以看到“Scala >”的命令提示符
可以在里面输入scala代码进行调试:
可以使用命令“:quit”退出Spark Shell:
或者,也可以直接使用“Ctrl+D”组合键,退出Spark Shell
编写Spark独立应用程序
1.安装sbt
sbt是一款Spark用来对scala编写程序进行打包的工具,Spark 中没有自带 sbt,需要下载安装
下载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 脚本增加可执行权限:
最后运行如下命令,检验 sbt 是否可用(需要几分钟时间)(请确保电脑处于联网状态,首次运行会处于 “Getting org.scala-sbt sbt 0.13.11 …” 的下载状态,请耐心等待。笔者等待了 7 分钟才出现第一条下载提示):
查看版本
- 点赞
- 收藏
- 关注作者
评论(0)