1. 实验室名称:
大数据实验教学系统
2. 实验项目名称:
Spark本地环境搭建(local模式)
3. 实验学时:
4. 实验原理:
spark有以下几种运行模式,每种运行模式都有自己不同的优点和长处。
name | Value |
• local(本地模式) | 常用于本地开发测试,本地还分为local单线程和local-cluster多线程; |
• standalone(集群模式) | 典型的Mater/slave模式,Master可能有单点故障的;Spark支持ZooKeeper来实现 HA。 |
• on yarn(集群模式) | 运行在 yarn 资源管理器框架之上,由 yarn 负责资源管理,Spark 负责任务调度和计算。 |
• on mesos(集群模式) | 运行在 mesos 资源管理器框架之上,由 mesos 负责资源管理,Spark 负责任务调度和计算。 |
5. 实验目的:
了解Spark不同安装包之间的区别
安装和配置Spark环境(本地模式)
测试Spark安装是否成功。
6. 实验内容:
1、安装和配置Spark环境(本地模式)
2、测试Spark。
7. 实验器材(设备、虚拟机名称):
硬件:x86_64 ubuntu 16.04服务器
软件:JDK1.8,Spark-2.3.2,Hadoop-2.7.3
在本实验环境中,Spark安装包位于以下位置:/data/software/spark-2.3.2-bin-hadoop2.7.tgz
在本实验环境中,JDK已安装在以下位置:/opt/jdk
在本实验环境中,Hadoop已安装在以下位置:/opt/hadoop器
8. 实验步骤:
8.1 验证是否已经正确地安装了JDK
Spark程序运行在JVM之上,因此在安装Spark之前,要确保已经安装了JDK 8,并正确配置了环境变量。
启动一个终端窗口,键入如下的命令:
1. $ java -version 2. $ javac -version
如果在终端窗口中输出了JDK的版本号,说明已经安装好了JDK并正确配置了环境变量。否则,在继续后面的步骤之前,请先安装JDK并配置好环境变量。
8.2 安装Spark
请按以下步骤操作:
1. 将安装包解压缩到/data/bigdata/目录下,并改名为spark-2.3.2。打开终端窗口,执行以下命令:
1. $ cd /data/bigdata 2. $ tar xvf /data/software/spark-2.3.2-bin-hadoop2.7.tgz 3. $ mv spark-2.3.2-bin-hadoop2.7 spark-2.3.2
2. 配置系统环境变量。在终端窗口中,执行以下命令:
1. $ cd 2. $ vim /etc/profile
在打开的文件最后,添加如下内容:
1. export SPARK_HOME=/data/bigdata/spark-2.3.2 2. export PATH=$SPARK_HOME/bin:$PATH
然后保存文件并关闭。
2. 执行/etc/profile文件使得配置生效。在终端窗口中,执行以下命令:
1. $ source /etc/profile
8.3 设置spark运行环境和配置参数
1. 在终端窗口中,执行如下的命令,进入到Spark的conf目录下:
1. $ cd /data/bigdata/spark-2.3.2/conf
2. 打开spark-env.sh文件配置(默认没有,需拷贝模板文件并改名)。在终端窗口中,执行以下命令:
1. $ cp spark-env.sh.template spark-env.sh 2. $ vim spark-env.sh
3. 在打开的spark-env.sh文件中,加入以下内容,并保存:
1. export JAVA_HOME=/opt/jdk 2. export HADOOP_CONF_DIR=/opt/hadoop-2.7.3/etc/hadoop 3. export SPARK_DIST_CLASSPATH=$(/opt/hadoop-2.7.3/bin/hadoop classpath)
8.4 测试spark是否安装正确
Spark本地模式安装时,配置完成后就可以直接使用,不需要像Hadoop运行启动命令。
如果Spark不使用HDFS和YARN,那么就不用启动Hadoop也可以正常使用Spark。如果在使用Spark的过程中需要用到 HDFS,就要首先启动 Hadoop/HDFS
接下来,我们通过运行Spark自带的示例程序,来验证Spark是否安装成功。在终端窗口中,执行以下命令:
1. $ cd /data/bigdata/spark-2.3.2 2. $ ./bin/run-example SparkPi
同时按下Shift+Enter,执行以上代码。执行时会输出很多运行信息,从中可以找到如下的输出结果:
Pi is roughly 3.140675703378517
由以上输出内容可以看出,我们的Spark本地模式环境搭建成功。
9. 实验结果及分析:
实验结果运行准确,无误
10. 实验结论:
经过本节实验的学习,通过学习Scala词频统计,进一步巩固了我们的scala基础。
11. 总结及心得体会:
Spark 本地模式(local模式):常用于本地开发测试。
在安装Spark之前,要确保已经安装了JDK 8并正确地配置了环境变量。
另外需要在Spark的conf/spark-env.sh文件中配置HADOOP_CONF_DIR和SPARK_DIST_CLASSPATH。有了这些配置信息以后,Spark就可以把数据存储到Hadoop分布式文件系统HDFS中,也可以从HDFS中读取数据。如果没有配置这些信息,那么Spark就只能读写本地数据,无法读写HDFS数据。
12、实验知识测试
1.Spark 支持的分布式部署方式中哪个是错误的 ( D )
• A.standalone
• B.spark on mesos
• C.spark on YARN
• D.Spark on local
13、实验拓展
用自己的语言描述standalone、spark on YARN、Spark on local各个部署的区别和要求?