阅读 217

Spark环境搭建和使用方法(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安装包下载地址: 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"

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

在spark-shell中运行代码

执行如下命令启动Spark Shell(默认是local模式): image.png 启动Spark Shell成功后在输出信息的末尾可以看到“Scala >”的命令提示符

image.png

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

image.png

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

image.png

或者,也可以直接使用“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 脚本增加可执行权限:

伪原创工具 SEO网站优化  https://www.237it.com/ 

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

查看版本


作者:Wave
链接:https://juejin.cn/post/7035175032225529893

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐