Spark集群搭建之Yarn模式

1.把spark安装包复制到你存放安装包的目录下,例如我的是/opt/software

cd /opt/software,进入到你存放安装包的目录

然后tar -zxvf 你的spark安装包的完整名字 -C /opt/module,进行解压。例如我的spark完整名字是spark-3.1.1-bin-hadoop3.2.tgz,所以我要输入的命令是

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

2.配置spark的环境变量

进入到/etc/profile.d目录下

自己新建一个存放修改spark环境变量的文件,例如我的是my_env.sh,在里面添加配置的内容

添加以下内容
# spark 环境变量
export SPARK_HOME=/opt/module/spark-yarn
export PATH=PATH:SPARK_HOME/bin:$SPARK_HOME/sbin

保存修改,回到输入命令界面,输入source /etc/profile,重新刷新环境变量,让修改的环境变量生效。

在输入 echo $PATH回车,出现spark-local/bin:/opt/module/spark-local/sbin说明我们已经配置好spark的环境变

同步给其他的设备: xsync /etc/profile.d/

3.修改hadoop的配置。/opt/module/hadoop-3.1.3/etc/hadoop/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>

把这个设置分发到其他节点。使用xsync /opt/module/hadoop-3.1.3/etc/hadoop/同步一下。

4.修改spark配置。 把三个文件的名字重新设置一下。

workers.tempalte 改成 workers,spark-env.sh.template 改成 spark-env.sh,

spark-defaults.conf.template 改成 spark-defaults.conf。

然后,在workers文件中添加

hadoop100

hadoop101
hadoop102

在spark-env.sh文件中,添加如下

SPARK_MASTER_HOST=hadoop100

SPARK_MASTER_PORT=7077

HADOOP_CONF_DIR=/opt/module/hadoop-3.1.3/etc/hadoop

YARN_CONF_DIR=/opt/module/hadoop-3.1.3/etc/hadoop
export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://hadoop100:8020/directory"

在spark-defaults.conf文件中,添加如下

spark.eventLog.enabled true
spark.eventLog.dir hdfs://hadoop100:8020/directory
spark.yarn.historyServer.address=hadoop100:18080
spark.history.ui.port=18080

5.同步配置文件到其他设备。xsync /opt/module/spark-yarn/sbin

( 五 ) 启动集群

注意这里要同时启动hadoop和spark。

1.启动hdfs和yarn。使用我们之前配置的脚本:myhadoop start

  1. 启动spark和spark的历史服务器。进入/opt/module/spart-yarn/sbin,运行: ./start-all.sh 和 ./start-history-server.sh

并通过jps去检查是否有对应的进程。

( 六 ) 提交任务到集群

使用spark-submit提交任务

spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster /opt/module/spark-standalone/examples/jars/spark-examples_2.12-3.1.1.jar 10

( 七 ) 查看运行结果
  1. 在yarn任务面板页面中可以看到任务的信息。http://hadoop101:8088/cluster

如果可以看任务信息,说明任务运行成功!

相关推荐
天河归来9 小时前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
GlobalInfo10 小时前
2026年全球机器人用超平执行器市场研究报告:市场规模达7.51亿美元,人形机器人商业化与轻量化运动控制需求推动行业增长
大数据·人工智能·数码相机·microsoft·机器人
IT古董12 小时前
《Agent开发工程师成长指南》- 第4章 第2节:Prompt设计五要素——任务、角色、上下文、约束与输出格式
大数据·人工智能·prompt
8Qi813 小时前
DDD架构演进
java·分布式·mvc·ddd
方方洛14 小时前
ray教程-23-附录C-术语表
人工智能·分布式·机器学习
Allen_LVyingbo14 小时前
NVIDIA CUDA Tile 在医疗计算中的算子形式化、算法重构与内核实现
大数据·python·算法·重构·知识图谱·健康医疗·数据库架构
全栈陈序员15 小时前
【Git】从入门到精通(一)—— Git简介:什么是版本控制系统
大数据·git·elasticsearch
中国搜索直付通15 小时前
分账系统有风险吗?资金安全怎么保障?
大数据·支付通道·分账系统·分账支付
一枕槐安48715 小时前
微调 vs Prompt:业务场景下两种方案成本 & 效果对比
大数据·人工智能·prompt·混合架构·推理成本·行为固化·知识边界
SelectDB15 小时前
Apache Doris 与 SelectDB 是什么关系?从开源技术到面向 Agent 的极速分析数据库
大数据·数据库·数据分析