寒假学习6spark虚拟机中配置本地模式和集群模式

本地运行模式

1.将压缩包spark-3.0.0-bin-hadoop3.2.tgz上传到虚拟机中

2.上传完成后,解压缩到无中文无空格的目录当中

tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz

3.解压完之后,重命名文件夹mv spark-3.0.0-bin-hadoop3.2/ spark-local

4.进入spark-local文件夹目录下使用命令bin/spark-shell进入命令行工具

启动成功

5.此时就可以写spark的基本语法了

6.spark中预先准备了上下文环境对象‘sc’

7.在spark-local/data目录下创建一个新文件word.txt

Vim word.txt

写入

Hello Scala

Hello Spark

Hello Scala

保存并且退出

8.在spark命令行中输入

sc.textFile("data/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect

执行

结果

统计完成

当前本地环境配置OK

9.Spark中有一个监控页面

此处有提示,复制粘贴在网页中打开

10.退出本地模式

按键CTRL+C或者输入Scala指令:quit

注:开发环境中一般不适用本地模式


Standalone 模式

集群模式配置

local 本地模式毕竟只是用来进行练习演示的,真实工作中还是要将应用提交到对应的集群中去执行,这里我们来看看只使用 Spark 自身节点运行的集群模式,也就是我们所谓的 独立部署(Standalone)模式。Spark Standalone 模式体现了经典的 master-slave 模式。 集群规划local 本地模式毕竟只是用来进行练习演示的,真实工作中还是要将应用提交到对应的 集群中去执行,这里我们来看看只使用 Spark 自身节点运行的集群模式,也就是我们所谓的 独立部署(Standalone)模式。Spark Standalone 模式体现了经典的 master-slave 模式

1.解压缩

tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz

2.重命名

mv spark-3.0.0-bin-hadoop3.2 spark-standalone

3.修改配置文件

进入解压缩后路径的 conf 目录,修改 slaves.template 文件名为 slaves

mv slaves.template slaves

修改 slaves 文件,添加 work 节点 vim slaves

Master

C2

C3

修改 spark-env.sh.template 文件名为 spark-env.sh

mv spark-env.sh.template spark-env.sh

修改 spark-env.sh 文件,添加 JAVA_HOME 环境变量和集群对应的 master 节点

Java存放位置

主机名称

端口号,默认7077

注意:7077 端口,相当于 hadoop3 内部通信的 8020 端口,此处的端口需要确认自己的 Hadoop 配置

分发 spark-standalone 目录

xsync spark-standalone

(没有xsync需要自己配脚本)

4.启动集群

sbin/start-all.sh

启动成功

5. 查看 Master 资源监控 Web UI 界面: http://master:8080

成功

6.提交应用程序

bin/spark-submit \

--class org.apache.spark.examples.SparkPi \

--master spark://master:7077 \

./examples/jars/spark-examples_2.12-3.0.0.jar \

10

集群环境OK

7.配置历史服务

1) 修改 spark-defaults.conf.template 文件名为 spark-defaults.conf

mv spark-defaults.conf.template spark-defaults.conf

2) 修改 spark-default.conf 文件,配置日志存储路径

Vim

spark.eventLog.enabled true

spark.eventLog.dir hdfs://master:8020/directory

(需要提前打开Hadoop并且在hdfs中创建directory文件)

3) 修改 spark-env.sh 文件, 添加日志配

export SPARK_HISTORY_OPTS=" -Dspark.history.ui.port=18080 -Dspark.history.fs.logDirectory=hdfs://master:8020/directory -Dspark.history.retainedApplications=30"

4) 分发配置文件 xsync conf

5) 重新启动集群和历史服务 sbin/start-all.sh sbin/start-history-server.sh

6) 重新执行任务

bin/spark-submit \

--class org.apache.spark.examples.SparkPi \

--master spark://master:7077 \

./examples/jars/spark-examples_2.12-3.0.0.jar \

10

(我报错了,应该是端口号的原因我的是9000,但是没有改,这里的教程是8020所以出错了,在第一个配置中少打了一个/也报了错)

(修改之后还是有错误,查看了一下其它两个的conf发现多了一个文件,把多出来的重复文件删除掉,重新启动之后OK)

7) 查看历史服务:http://master:18080

ok

原文地址:https://www.cnblogs.com/dty602511/p/15773120.html