Spark3.3集群安装部署

提示:配置参数信息(路径、名称)可根据自身环境不同,自行调整。

前言

spark从1.0版本发布至今,已经更新到3.5版本,目前生态发展非常成熟,无论是kafka、hive、还是数据湖格式(hudi、iceberg、delta)都对spark有做兼容适配,提供的API也是非常之多,由于实时场景的增加,spark计算引擎已经逐步替代mapreduce引擎,成为离线批处理的首选,而且spark提供了非常多的算数转子用于处理复杂计算,并且这些转化操作都是惰性求值,不用像mapreduce那样每一步操作需指定落在哪里,在流式处理方面,随意structed streaming的推出,spark能够将数据处理延长精确到秒级别,在个性化推荐和广告推送方面,有着很强的适用性。


提示:以下是本篇文章正文内容,下面案例可供参考

一、spark简介

apache spark是用于大规模数据处理的一种计算引擎,借鉴了mapreduce的思想发展而来,保留了分布式并行计算的优点,也改进了其明细的缺点,让中间数据保存在内存提高了运行速度,并提供了丰富的API接口提升了开发速度,关于spark的介绍,网上有非常多好的文章,这里就不具体的讲解了。

二、安装部署

1.下载安装包

登录apache spark官网地址https://spark.apache.org/downloads.html,选择3.3版本,点击spark-3.3.3-bin-hadoop3.tgz下载,下载完成后,执行以下命令解压

tar -zxvf spark-3.3.3-bin-hadoop3.tgz

在这里插入图片描述
可通过以下命令,将文件名修改为spark3,方便路径标识

mv spark-3.3.3-bin-hadoop3 spark3.3

2.配置环境变量

vim /etc/profile.d/my_env.sh打开并编辑环境变量配置文件,输入以下内容
提示:安装目录可根据自身环境不同,进行调整

export SPARK_HOME=/application/soft/spark3.3
export PATH=$PATH:$SPARK_HOME/bin

完成后保存,执行source /etc/profle使环境变量生效。

3.修改配置文件

spark有几种部署模式,分别是local、standalone、yarn模式,虽然spark本身也带有资源调度管理的能力,但spark只是作为计算引擎中的一环,在资源调度管理这块还是yarn具有更换的兼容和协调能力,所以此篇内容将围绕yarn模式部署展开。
首选需要关闭yarn虚拟内存检查,进入hadoop安装路径下etc/hadoop目录中,vim yarn-site.xml,打开并编辑文件内容,添加以下内容

<!-- 是否启动一个线程检查每个任务正在使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true-->
  <property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
  </property>
<!-- 是否启动一个线程检查每个任务正在使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true-->
  <property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
  </property>

文件保存后,进入resoucemanager节点,我这边定义的是cdp2节点,执行以下命令以重启yarn

/application/soft/hadoop-3.3.3/sbin/stop-yarn.sh
/application/soft/hadoop-3.3.3/sbin/start-yarn.sh

进入spark安装目录,修改conf/spark-env.sh,添加JAVA_HOME和YARN_CONF_DIR配置
提示:安装目录conf目录下自带的文件名称为spark-env.sh.template,可将末尾的.template去掉
vim conf/spark-env.sh打开并编辑配置文件,输入以下内容

export JAVA_HOME=/application/soft/jdk1.8.0_333
YARN_CONF_DIR=/application/soft/hadoop-3.3.3/etc/hadoop

4.功能测试

在测试前,需保证hdfs集群和yarn资源管理器已启动,可在spark安装目录下,执行以下命令
提示:以下执行的程序为spark自带的一个样例jar包,用于计算pi的值

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode client \
./examples/jars/spark-examples_2.12-3.3.0.jar \
10

提示:deploy-mode为client模式方便排除程序出错的原因,此处会出现File does not exist: hdfs://cdp1:8020/spark的错误,执行hdfs dfs -mkdir /spark命令,可以在hdfs目录下创建对应的spark目录
再次执行程序,在控制台中出现以下内容,则证明运行成功。
在这里插入图片描述


总结

至此,spark环境就已经部署完成,由于篇幅有限,spark一些具体功能就不继续展开了,后续会结合一些案例做详细的介绍,本篇内容旨在安装一个测试环境,为编写spark程序准备一个预处理的环境,相当于编写java程序就得首选安装jdk一样,虽然集群的环境的运维配置都是由专门的运维人员来复杂,但作为开发人员也需要一些基本的配置了解,方便后续对问题的排查定位等,好了,就先写到这里,后续会持续更新,欢迎大家一起探讨。

  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雯趣星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值