【大数据学习 | 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/目录下(分布式缓存),然后再分发到运行任务的计算节点。

相关推荐
Volunteer Technology7 分钟前
Flink的函数接口与富函数类
大数据·flink
逸Y 仙X33 分钟前
文章七:ElasticSearch 集群监控指标
大数据·elasticsearch·搜索引擎
拾起零碎39 分钟前
U8/固定资产反结账报错
数据库·oracle
Volunteer Technology44 分钟前
Flink编程模型与API(四)
大数据·flink
六月雨滴1 小时前
Oracle 归档日志性能优化
数据库·oracle·性能优化
Leon-Ning Liu1 小时前
【真实经验分享】ORA-600 [4187]发生在回滚段(undo segment)的 wrap# 接近最大值时
数据库·oracle
叶修_A1 小时前
【COZE-08】Prompt工程进阶 - 结构化输出与思维链
大数据·人工智能·prompt
OCR_133716212751 小时前
技术实测|2026三款主流OCR横向对比:SDK15、PaddleOCR、GLM-OCR选型指南
大数据·人工智能
chushiyunen1 小时前
elasticsearch内置接口笔记
大数据·笔记·elasticsearch
Elastic 中国社区官方博客1 小时前
Hacknight Beijing:基于阿里云与 Elastic 构建 AI Agents
大数据·运维·人工智能·elasticsearch·搜索引擎·阿里云·云计算