Spark Standalone 部署
创始人
2024-05-30 13:54:44
0

Spark Standalone 部署

  • 解压缩文件
  • 修改配置文件
  • 启动集群
    • Web UI 界面
    • 提交应用
    • 提交参数说明
  • 配置历史服务
    • 配置日志存储路径
    • 添加日志配置
    • 重启
    • 重新执行任务
    • 查看历史服务
  • 配置高可用(HA)
    • 集群规划
    • 停止集群
    • 启动 Zookeeper
    • 启动集群
    • 关闭集群
    • 关闭历史服务

解压缩文件

spark-3.0.0-bin-hadoop3.2.tgz 文件上传到 Linux 并解压缩在指定位置

tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module

在这里插入图片描述

cd /opt/module

在这里插入图片描述

改名 :

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

在这里插入图片描述

修改配置文件

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

mv slaves.template slaves

在这里插入图片描述

修改 slaves 文件,添加 worker 节点

vim slaves

内容 :

cpucode101
cpucode102
cpucode103

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

vim spark-env.sh

内容 :

export JAVA_HOME=/opt/module/jdk1.8.0_212
SPARK_MASTER_HOST=cpucode101
SPARK_MASTER_PORT=7077

在这里插入图片描述

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

分发 spark-standalone 目录

xsync spark-standalone

在这里插入图片描述

启动集群

确保 Zookeeper 关闭

执行脚本命令:

./sbin/start-all.sh

在这里插入图片描述

查看三台服务器运行进程

jpsall

在这里插入图片描述

Web UI 界面

http://cpucode101:8080

在这里插入图片描述

提交应用

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://cpucode101:7077 \
./examples/jars/spark-examples_2.12-3.0.0.jar \
10
  • –class : 执行程序的主类
  • –master spark://cpucode102:7077 独立部署模式,连接到Spark集群
  • spark-examples_2.12-3.0.0.jar 运行类所在的jar包
  • 数字10 : 程序的入口参数,用于设定当前应用的任务数量

在这里插入图片描述

执行任务时,会产生多个Java进程

jpsall

在这里插入图片描述

执行任务时,默认采用服务器集群节点的总核数,每个节点内存 1024M

在这里插入图片描述

提交参数说明

bin/spark-submit \
--class 
--master  \
... # other options
 \
[application-arguments]
参数解释可选值举例
– classSpark程序中包含主函数的类
– masterSpark程序运行的模式(环境)模式:local[*]、spark://cpucode101:7077、 Yarn
– executor-memory 1G每个executor可用内存为1G符合集群内存配置即可,具体情况具体分析
– total-executor-cores 2所有 executor 使用的 cpu 核数为 2 个
– executor-cores每个 executor 使用的 cpu 核数
application-jar打包好的应用jar,包含依赖。这个URL在集群中全局可见。 如 : hdfs:// 共享存储系统,如果是file:// path,那么所有的节点的path都包含同样的jar
application-arguments传给 main() 方法的参数

配置历史服务

当 spark-shell 停止后,就看不到历史任务的运行情况,所以要配置历史服务器记录任务运行情况

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6QJgogdb-1678108566828)(../../png/Standalone%E9%83%A8%E7%BD%B2/image-20230203141836141.png)]

配置日志存储路径

修改 spark-default.conf 文件

vim spark-default.conf

内容 :

spark.eventLog.enabled          true
spark.eventLog.dir              hdfs://cpucode101:8020/directory

在这里插入图片描述

需要启动 hadoop 集群,HDFS 上的 directory 目录需要提前存在

myhadoop.sh start

在这里插入图片描述

创建 HDFS 文件夹

hadoop fs -mkdir /directory

在这里插入图片描述

http://cpucode101:9870

在这里插入图片描述

添加日志配置

修改 spark-env.sh 文件,

vim spark-env.sh
export SPARK_HISTORY_OPTS="
-Dspark.history.ui.port=18080 
-Dspark.history.fs.logDirectory=hdfs://cpucode101:8020/directory 
-Dspark.history.retainedApplications=30"
  • 参数1:WEB UI 访问的端口号为 18080
  • 参数2:指定历史服务器日志存储路径
  • 参数3:指定保存 Application 历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数

在这里插入图片描述

分发配置文件

xsync conf

在这里插入图片描述

重启

重启动 Hadoop 集群

./sbin/start-all.sh

在这里插入图片描述

重启动历史服务

./sbin/start-history-server.sh

在这里插入图片描述

重新执行任务

./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://cpucode101:7077 \
./examples/jars/spark-examples_2.12-3.0.0.jar \
10

在这里插入图片描述

查看历史服务

http://cpucode101:18080

在这里插入图片描述

配置高可用(HA)

当集群中只有一个 Master 节点,就存在单点故障问题

为了解决单点故障问题,需要在集群中配置多个Master节点,一旦处于活动状态的 Master 发生故障时,由备用 Master 提供服务,保证作业可以继续执行

高可用采用 Zookeeper 设置

高可用原理 :

在这里插入图片描述

集群规划

cpucode101cpucode102cpucode103
SparkMasterMaster
ZookeeperZookeeperZookeeper
WorkerWorkerWorker

停止集群

./sbin/stop-all.sh

在这里插入图片描述

启动 Zookeeper

zk.sh start

在这里插入图片描述

修改 spark-env.sh 文件添加如下配置

注释如下内容:

#SPARK_MASTER_HOST=cpucode101
#SPARK_MASTER_PORT=7077

添加如下内容:

#Master监控页面默认访问端口为8080,
#但是可能会和Zookeeper冲突,所以改成8989,
#也可以自定义,访问UI监控页面时请注意
SPARK_MASTER_WEBUI_PORT=8989export SPARK_DAEMON_JAVA_OPTS="
-Dspark.deploy.recoveryMode=ZOOKEEPER 
-Dspark.deploy.zookeeper.url=cpucode101,cpucode102,cpucode103
-Dspark.deploy.zookeeper.dir=/spark"

在这里插入图片描述

分发配置文件

xsync conf/

在这里插入图片描述

启动集群

./sbin/start-all.sh

在这里插入图片描述

在这里插入图片描述

启动 cpucode102 的单独 Master 节点,此时 cpucode102 节点 Master 状态处于备用状态

ssh cpucode102 /opt/module/spark-3.0.0-standalone/sbin/start-master.sh

在这里插入图片描述

在这里插入图片描述

提交应用到高可用集群

在这里插入图片描述

./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://cpucode101:7077,cpucode102:7077 \
./examples/jars/spark-examples_2.12-3.0.0.jar \
10

在这里插入图片描述

同时 停止 cpucode101 的 Master 资源监控进程

sudo kill -9 10397

在这里插入图片描述

在这里插入图片描述

查看 cpucode102 的Master 资源监控 Web UI,稍等一段时间后,cpucode102 节点的 Master 状态

在这里插入图片描述

关闭集群

./sbin/stop-all.sh

在这里插入图片描述

关闭 cpucode102 主

ssh cpucode102 /opt/module/spark-3.0.0-standalone/sbin/stop-master.sh

在这里插入图片描述

关闭历史服务

./sbin/stop-history-server.sh

在这里插入图片描述

相关内容

热门资讯

八年级班会主持词 八年级班会主持词  主持词要注意活动对象,针对活动对象写相应的主持词。在如今这个中国,活动集会越来越...
职工追悼词 职工追悼词 各位亲友、各位来宾:  今天我们怀着十分沉痛的心情深切悼念退休职工×××。  ×××因病...
春天活动主持词 春天活动主持词  大家上午好!  踏着春天的脚步,踩着春风的节拍,春天已经来到我们中间,春天是生命的...
幼儿园家长会园长致辞 幼儿园家长会园长致辞幼儿园家长会园长致辞亲爱的家长、老师们:首先感谢大家在百忙中抽空参加今天举行的家...
教师节活动主持词 教师节活动主持词  一、什么是主持词  由主持人于节目进行过程中串联节目的串联词。如今的各种演出活动...
百日宴致辞 百日宴致辞范文  在日复一日的学习、工作或生活中,许多人都有过写致辞的经历,对致辞都不陌生吧,在各种...
2021年会总经理简短致辞 2021年会总经理简短致辞范文(通用6篇)  在学习、工作、生活中,许多人都有过写致辞的经历,对致辞...
中学秋季开学典礼主持词 中学秋季开学典礼主持词  中学秋季开学典礼主持词    第一项:升国旗仪式(升旗仪式结束后,请新教师...
婚礼男方家长经典致辞 婚礼男方家长经典致辞  大家好!今天是我儿子××和××小姐结婚的大喜日子,我感到非常高兴和荣幸。高兴...
元宵晚会主持词 关于元宵晚会主持词(通用11篇)  主持词是主持人在台上表演的灵魂之所在。在当今社会生活中,司仪等是...
国学经典诵读比赛主持词 国学经典诵读比赛主持词  主持词可以采用和历史文化有关的表述方法去写作以提升活动的文化内涵。随着社会...
离职感谢词 离职感谢词  在xx近两个月的生活,让我感触很多,首先感谢领导一直以来对我们的包容,感谢x经理的照顾...
年会总经理致辞 年会总经理致辞(精选7篇)  在学习、工作、生活中,大家都经常接触到致辞吧,致辞具有“礼仪性”或“仪...
八十大寿宴会主持词 八十大寿宴会主持词  借鉴诗词和散文诗是主持词的一种写作手法。在当下这个社会中,主持人的需求越来越高...
校园迎新春晚会主持词 校园迎新春晚会主持词  主持词已成为各种演出活动和集会中不可或缺的一部分。在当今不断发展的世界,越来...
同桌的你小品台词参考 同桌的你小品台词参考  王小利和小沈阳上场  王小利:儿子,今天,我带你去见一位特别重要的人物。  ...
文艺汇演主持人串词 文艺汇演主持人串词  开场:  萌:尊敬的各位领导,各位来宾。  泓:亲爱的老师们,同学们。大家  ...
年度总结表彰大会主持词 年度总结表彰大会主持词9篇  总结是指社会团体、企业单位和个人在自身的某一时期、某一项目或某些工作告...
小学庆六一儿童节主持词 小学庆六一儿童节主持词(精选5篇)  契合现场环境的主持词能给集会带来双倍的效果。随着社会一步步向前...
经销商大会主持稿 经销商大会主持稿推荐  经销商大会主持稿(一)  尊敬的各位来宾,各位朋友  大家上午好  (8:5...