spark3.3.0安装&部署过程

这篇具有很好参考价值的文章主要介绍了spark3.3.0安装&部署过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

为了防止不必要的报错,部署之前请务必从开头开始看,切勿跳过其中一个部署模式,因为每一个部署模式都是从上一个模式的配置上进行的

下载地址:https://archive.apache.org/dist/spark/

本文所下载版本为:spark-3.3.0-bin-hadoop2

环境:

  • hadoop-2.7.5
  • jdk1.8.0
  • Scala

安装&部署过程

(Local)本地部署模式

所谓的Local模式,就是不需要其他任何节点资源就可以在本地执行Spark代码的环境

spark-3.3.0-bin-hadoop2.tgz包上传至Linux并解压指定目录

tar -zxvf spark-3.3.0-bin-hadoop2.tgz -C /export/servers

为了方便后续操作,建议修改文件名(可忽略)

cd /export/servers
mv spark-3.3.0-bin-hadoop2 spark-3.3.0

添加环境变量/etc/profile

sudo vim /etc/profile

在文件内添加以下变量

export SPARK_HOME=/export/servers/spark-3.3.0
export PATH=$SPARK_HOME/bin:$HBASE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$PATH

使用环境变量生效:

source /etc/profile

进入spark-3.3.0执行命令 bin/spark-shel

spark3.3.0安装&部署过程

看到这个界面表示本地启动成功

web端查看

启动成功后,可以输入网址进行Web UI监控页面访问

http://master:4040

spark3.3.0安装&部署过程

(Standalone)独立部署模式

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

修改配置文件

进入sparkconf目录

cd /export/servers/spark-3.3.0/conf

修改以下配置

  • workers
  • spark-defaults.conf
  • spark-env.sh

这三个文件在目录里都是模板,这里我们需要各复制一份出来并删除模板后缀名.template

cp workers.template workers

cp spark-defaults.conf.template spark-defaults.conf

cp spark-env.sh.template spark-env.sh

修改workers文件,删除localhost,添加以下内容

master
slave1
slave2

注意这里的节点,是你的分布式集群三台虚拟机的主机名

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

export JAVA_HOME=/export/servers/jdk1.8.0_181
export SPARK_MASTER_HOST=master
export SPARK_MASTER_PORT=7077

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

默认就是7077,这里我们不做改动

分发spark文件给其他节点

scp -r /export/servers/spark-3.3.0 slave1:/export/servers

scp -r /export/servers/spark-3.3.0 slave2:/export/servers

porfile环境配置文件发给其他节点并刷新配置

sudo scp -r /etc/profile slave1:/etc/profile

sudo scp -r /etc/profile slave2:/etc/profile
source /etc/profile

启动集群

执行脚本 sbin/start-all.sh,注意是在spark目录下

sbin/start-all.sh

spark3.3.0安装&部署过程

查看三台服务器的进程

spark3.3.0安装&部署过程

查看master节点上的资源监控页面web端http://master:8080

spark3.3.0安装&部署过程

提交应用

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

spark3.3.0安装&部署过程

提交参数说明

在提交应用中,一般会同时一些提交参数

bin/spark-submit \

--class <main-class>

--master <master-url> \... # other options<application-jar> \[application-arguments]
参数 解释 可选值举例
–class Spark程序中包含主函数的类
–master Spark程序运行的模式(环境) 模式:local[*]、spark://hadoop02: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()方法的参数

配置历史服务器

叨叨一句:以下端口号为9000的与hadoopcore-site.xml的配置文件中的一致的,有些人的可能是8020,也有些人的是9000

由于spark-shell停止掉后,集群监控master:4040页面就看不到历史任务的运行情况,所以开发时都配置历史服务器记录任务运行情况。

修改spar-defaults.conf文件添加日志存储路径配置

spark.eventLog.enabled          true
spark.eventLog.dir              hdfs://master:9000/directory

spark3.3.0安装&部署过程

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

start-all.sh

hadoop fs -mkdir /directory

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

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

spark3.3.0安装&部署过程

  • 参数1含义:WEB UI访问的端口号为18080
  • 参数2含义:指定历史服务器日志存储路径
  • 参数3含义:指定保存Application历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数。

分发配置文件

scp -r /export/servers/spark-3.3.0 slave1:/export/servers

scp -r /export/servers/spark-3.3.0 slave2:/export/servers

重新启动集群和历史服务

sbin/start-all.sh

sbin/start-history-server.sh

重新执行任务

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r9J4qN8Z-1660795217488)(https://cdn.staticaly.com/gh/archenblog/imgs@master/imags/image-20220815202636140.webp)]

查看历史服务器http://master:18080

spark3.3.0安装&部署过程

配置高可用(HA)

在集群中配置多个Master结点。这里的高可用采用Zookeeper设置。
集群规划:

master slave1 salve2
Master Master
Zookeeper Zookeeper Zookeeper
Worker Worker Worker

停止集群

sbin/stop-all.sh

逐个节点启动 Zookeeper

zkServer.sh start

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

#注释如下内容:
#SPARK_MASTER_HOST=master
#SPARK_MASTER_PORT=7077

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

spark3.3.0安装&部署过程

分发配置文件

scp -r /export/servers/spark-3.3.0 slave1:/export/servers

scp -r /export/servers/spark-3.3.0 slave2:/export/servers

启动集群

sbin/start-all.sh

查看当前结点状态:http://master:8989

spark3.3.0安装&部署过程

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

sbin/start-master.sh

spark3.3.0安装&部署过程

spark3.3.0安装&部署过程

提交应用到高可用集群

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

如果报错,解决方法如下:

杀死master的master进程后再执行以上命令

spark3.3.0安装&部署过程

查看 slave1 的 Master 资源监控 Web UI,稍等一段时间后,slave1 节点的 Master 状态提升为活动状态

217491)]

提交应用到高可用集群

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

如果报错,解决方法如下:

杀死master的master进程后再执行以上命令

[外链图片转存中…(img-kfaEOiH0-1660795217492)]

查看 slave1 的 Master 资源监控 Web UI,稍等一段时间后,slave1 节点的 Master 状态提升为活动状态

spark3.3.0安装&部署过程文章来源地址https://www.toymoban.com/news/detail-419259.html

到了这里,关于spark3.3.0安装&部署过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • spark3.3.x处理excel数据

    环境: spark3.3.x scala2.12.x 引用: spark-shell --jars spark-excel_2.12-3.3.1_0.18.5.jar 或项目里配置pom.xml 代码: 1、直接使用excel文件第一行作为schema 2、使用自定义schema(该方法如果excel文件第一行不是所需数据,需手动限制读取的数据范围) ps:刚开始用的3.3.3_0.20.1这个版本的不可用,具体

    2024年02月08日
    浏览(33)
  • Hive3 on Spark3配置

    大数据组件 版本 Hive 3.1.2 Spark spark-3.0.0-bin-hadoop3.2 OS 版本 MacOS Monterey 12.1 Linux - CentOS 7.6 1)Hive on Spark说明 Hive引擎包括:默认 mr 、 spark 、 Tez 。 Hive on Spark :Hive既作为存储元数据又负责SQL的解析优化,语法是HQL语法,执行引擎变成了Spark,Spark负责采用RDD执行。 Spark on Hive :

    2024年02月04日
    浏览(39)
  • Hudi0.14.0集成Spark3.2.3(Spark Shell方式)

    1.1 启动Spark Shell

    2024年01月24日
    浏览(38)
  • 记录《现有docker中安装spark3.4.1》

    基础docker环境中存储hadoop3--方便后续查看 参考:   实践:            

    2024年02月11日
    浏览(37)
  • 【笔记】Spark3 AQE(Adaptive Query Execution)

    提效 7 倍,Apache Spark 自适应查询优化在网易的深度实践及改进 Performance Tuning 配置Spark SQL开启Adaptive Execution特性 How To Use Spark Adaptive Query Execution (AQE) in Kyuubi 【spark系列3】spark 3.0.1 AQE(Adaptive Query Exection)分析 玩转Spark Sql优化之3.0特性AQE(六) As of Spark 3.0, there are three major feat

    2024年02月12日
    浏览(28)
  • Java语言在Spark3.2.4集群中使用Spark MLlib库完成XGboost算法

    XGBoost是一种基于决策树的集成学习算法,它在处理结构化数据方面表现优异。相比其他算法,XGBoost能够处理大量特征和样本,并且支持通过正则化控制模型的复杂度。XGBoost也可以自动进行特征选择并对缺失值进行处理。 1、导入相关库 2、加载数据 3、准备特征向量 4、划分

    2023年04月12日
    浏览(34)
  • Java语言在Spark3.2.4集群中使用Spark MLlib库完成朴素贝叶斯分类器

    贝叶斯定理是关于随机事件A和B的条件概率,生活中,我们可能很容易知道P(A|B),但是我需要求解P(B|A),学习了贝叶斯定理,就可以解决这类问题,计算公式如下:     P(A)是A的先验概率 P(B)是B的先验概率 P(A|B)是A的后验概率(已经知道B发生过了) P(B|A)是

    2023年04月12日
    浏览(35)
  • Hudi0.14.0 集成 Spark3.2.3(IDEA编码方式)

    本次在IDEA下使用Scala语言进行开发,具体环境搭建查看文章 IDEA 下 Scala Maven 开发环境搭建。 1.1 添加maven依赖 创建Maven工程,pom文件:

    2024年01月24日
    浏览(44)
  • 服务器编译spark3.3.1源码支持CDH6.3.2

    1、一定要注意编译环境的配置 2、下载连接 3、安装直接解压,到/opt/softwear/文件夹 4、配置环境变量 5、更改相关配置文件 一定注意下面的修改配置 6、修改mvn地址 6.1、如果编译报错栈已经满了修改如下 7、更改 scala版本 8、执行脚本编译 9、打包完在/opt/softwear/spark-3.3.1 有一

    2023年04月15日
    浏览(55)
  • 为了防止这个网站被各位爬崩,我连夜用Python下载了上万张壁纸(附网站JS逆向解密)

    每当一个网站崩溃,在座的各位都有一定的责任。 当一个爬虫教程不火的时候还好,火起来了,就到了考验网站服务器的时候了,上一次茶杯狐就是这样,还好人家顽强…   好了话不多说,直接开始。 首先就是必备的软件和模块 环境使用   模块使用   前两个是第三方模块

    2024年02月07日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包