【大数据学习 | Spark】yarn-client与yarn-cluster的区别

1. yarn的提交命令

bash 复制代码
# yarn的提交命令参数
--master yarn #执行集群
--deploy-mode # 部署模式
--class #指定运行的类
--executor-memory #指定executor的内存
--executor-cores # 指定核数
--num-executors # 直接指定executor的数量
--queue # 指定队列

2. yarn-client模式

该模式下driver端存在于client客户端。

是driver端是独立于 yarn集群的,运算的时候,driver端需要管理executor 中task的运行,所以driver端(客户端)是不能离开的。

driver端在客户端上,所以好调试日志。

当在客户端提交多个spark应用时,它会对客户端造成很大的网络压力,yarn-client模式只适合 交互式环境开发。

运行期间不能断开客户端的链接,不然driver端死掉。task任务不能顺利执行。

3. yarn-cluster模式

driver端是在APPMater节点,是在yarn集群里面 ,那运行和监控executor 的任务都是在yarn集群里面。yarn提交任务的客户端是可以离开的。

driver端在yarn集群里面,所以不好调试日志。客户端一经提交可以离开,常用于正常的提交应用,适合生产环境。

集群模式是不支持spark-shell的

bash 复制代码
spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--queue hainiu \
--deploy-mode cluster \
/usr/local/spark/examples/jars/spark-examples_2.12-3.1.2.jar \
20000

4. spark on yarn 提交流程

当spark在yarn上运行时,yarn要拿到 3样:

1)运行用的配置

2)运行要依赖的jar包

默认是SPARK_HOME/jars 目录下的jar包打包

如果想加入其它jar包,可通过 --jars 添加

3)运行任务的jar包(带有代码的jar包)

这3样需要从提交程序端 上传到 /user/xxx/.sparkStaging/yarnid/目录下(分布式缓存),然后再分发到运行任务的计算节点。

相关推荐
青衫码上行14 小时前
高频 SQL 50题(基础版)| 查询 + 连接
数据库·sql·学习·mysql
Dr.AE15 小时前
AI+教育行业分析报告
大数据·人工智能·教育电商
Evaporator Core16 小时前
通信专业技术资格考试备战系列(一):通信基础知识核心要点解析
大数据·tornado
freepopo16 小时前
比较好的别墅装修策略
大数据
山岚的运维笔记18 小时前
SQL Server笔记 -- 第77章:文件组
数据库·笔记·sql·microsoft·oracle·sqlserver
惜分飞19 小时前
rose双机引起文件系统损坏使得数据库异常故障处理---惜分飞
数据库·oracle
实战产品说21 小时前
2026出海产品的机会与挑战
大数据·人工智能·产品运营·产品经理
2501_9269783321 小时前
从Prompt的“结构-参数”到多AI的“协作-分工”--底层逻辑的同构分化
大数据·人工智能·机器学习
教男朋友学大模型21 小时前
平衡AI自动化与人工干预
大数据·人工智能·自动化
啊哈哈1213821 小时前
SQL学习笔记7:综合查询与高级技巧全解析 + LeetCode实战
笔记·sql·学习