Spark on Yarn安装配置

目录

前言

初了解spark

Standalone模式

Yarn模式


前言

今天我们讲解Spark的安装配置,spark的部署分为两种,一种是Standalone模式,另一种就是on yarn 模式,我们这一节着重讲解on yarn 模式,因为符合生产活动,但也会提到Standalone模式

初了解spark

Spark是一个快速、通用、可扩展的集群计算引擎,它基于内存计算,提高了在大数据环境下数据处理的实时性,同时保证了高容错性和高伸缩性。Spark允许用户将其部署在大量廉价的硬件之上,形成集群。Spark诞生于2009年,最初由美国加州大学伯克利分校的AMP实验室开发,是一个基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。

Spark的特点主要体现在以下几个方面:

Spark的主要组件包括SparkCore,它将分布式数据抽象为弹性分布式数据集(RDD),实现了应用任务调度、RPC、序列化和压缩,并为运行在其上的上层组件提供API。

总的来说,Spark作为一个强大而灵活的大数据处理工具,以处理各种类型的大数据任务和应用场景。

  1. 快速:Spark基于内存的运算速度比Hadoop的MapReduce快100倍,即使基于硬盘的运算也要快10倍以上。这得益于Spark实现了高效的DAG执行引擎,可以通过基于内存来高效处理数据流。
  2. 通用:Spark的设计容纳了其它分布式系统拥有的功能,包括批处理(类似Hadoop)、迭代式计算(机器学习)、交互查询(类似Hive)和流处理(类似Storm)等,这降低了维护成本。
  3. 易用性:Spark提供了Python、Java、Scala、SQL的API和丰富的内置库,使其与其他的大数据工具整合得很好,包括Hadoop、Kafka等。此外,Spark还支持超过80种高级算法,使用户可以快速构建不同的应用。

Standalone模式

Standalone模式是Spark自带的资源调动引擎,构建一个由Master + Slave构成的Spark集群,Spark运行在集群中。

这个要和Hadoop中的Standalone区别开来。这里的Standalone是指只用Spark来搭建一个集群,不需要借助其他的框架。是相对于Yarn和Mesos来说的。

解压:

复制代码
tar -zxvf spark-3.0.3-bin-hadoop3.2.tgz -C /opt/module/

修改名字:

复制代码
mv spark-3.0.3-bin-hadoop3.2/ spark-standalone

配置集群节点:

复制代码
mv slaves.template slaves
vim slaves

添加内容:

复制代码
bigdata1
bigdata2
bigdata3

修改spark-env.sh文件,添加bigdata1节点

复制代码
mv spark-env.sh.template spark-env.sh
vim spark-env.sh

添加内容:

复制代码
SPARK_MASTER_HOST=bigdata1
SPARK_MASTER_PORT=7077

向其他机器分发spark-standalone包

在其他机器创建spark-standalone目录。

复制代码
scp -r /opt/module/spark-standalone/ bigdata2:/opt/module/spark-standalone/
scp -r /opt/module/spark-standalone/ bigdata3:/opt/module/spark-standalone/

启动spark集群****官方求PI案例

复制代码
bin/spark-submit \
> --class org.apache.spark.examples.SparkPi \
> --master spark://bigdata1:7077 \
> ./examples/jars/spark-examples_2.12-3.0.3.jar \
> 10

结果:

Pi is roughly 3.1408591408591406

​

------------------------------ 命令 ---------------------------------------

bin/spark-submit \

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

--master spark://bigdata1:7077 \

--executor-memory 2G \

--total-executor-cores 2 \

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

10

Yarn模式

saprk客户端连接Yarn,不需要额外构建集群。

解压:

复制代码
tar -zxvf spark-3.0.3-bin-hadoop3.2.tgz -C /opt/module/

配置环境变量:

复制代码
#SPARK_HOME
export SPARK_HOME=/opt/module/spark-3.0.3-yarn
export PATH=$PATH:$SPARK_HOME/bin

修改配置文件:

修改hadoop配置文件/opt/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml,添加如下内容:

复制代码
<property>
     <name>yarn.nodemanager.pmem-check-enabled</name>
     <value>false</value>
</property>
​
<property>
     <name>yarn.nodemanager.vmem-check-enabled</name>
     <value>false</value>
</property>

分发配置文件:

复制代码
scp -r /opt/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml bigdata2:/opt/module/hadoop-3.1.3/etc/hadoop/
​
scp -r /opt/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml bigdata3:/opt/module/hadoop-3.1.3/etc/hadoop/

修改spark-env.sh

复制代码
mv spark-env.sh.template spark-env.sh
vim spark-env.sh

内容:

复制代码
YARN_CONF_DIR=/opt/module/hadoop-3.1.3/etc/hadoop

重启Hadoop

复制代码
start-all.sh
start-yarn.sh 

求PI

复制代码
spark-submit --master yarn --class org.apache.spark.examples.SparkPi  $SPARK_HOME/examples/jars/spark-examples_2.12-3.0.3.jar

结果:

Pi is roughly 3.142211142211142

相关推荐
Alluxio12 小时前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
喵个咪15 小时前
GoWind Admin 拆解:BI 大屏设计器——schema 即 JSON、resolver 注入与三张快照表的口径谱系
大数据·后端·go
武子康16 小时前
H3-World 的 11.3 小时训练数据,是怎样对齐成动作监督的?
大数据·人工智能·深度学习
字节跳动数据平台17 小时前
火山引擎知识引擎VeKnow进化之路(下):让 AI 智能体更可用、更可信、更懂业务
大数据
Elastic 中国社区官方博客17 小时前
更少的位数,相同的召回率:DiskBBQ 更保守的自动校准扫描
大数据·运维·开发语言·人工智能·elasticsearch·搜索引擎
阿卡好可爱17 小时前
Lua 热更新不生效:改完文件线上仍是旧逻辑,package.loaded 与 upvalue 重绑定详解
数据结构·分布式·后端·架构·lua
MyBili17 小时前
Chrome隐私安全配置:完整防护指南
大数据·chrome·谷歌浏览器·隐私安全·浏览器防护·cookie管理·上网痕迹清理
真上帝的左手18 小时前
19. 大数据-数据同步-工具
大数据·数据同步
数字孪生视频孪生18 小时前
在线重构,实时同步:视频动态三维重建打造 “常更常新” 的数字底座
大数据·人工智能·重构·架构·空间计算
Aloudata18 小时前
Claude 做数据分析的这两年:一份复盘与发展线索
大数据·数据库·人工智能·数据挖掘·数据分析·dataagent