Spark----【spark on yarn】

如何准确计算Spark On Yarn资源消耗 - spark On Yarn内存计算 spark on yarn 内存计算 摘要:相信每个写spark 的 sparker 都有过 spark on yarn 的任务提交经历,或许在你集群资源够多的情况下,我们只关注分配的资源是否能另任务顺畅的跑起来,而不会去关注生成一个spark任务最终在yarn上面消耗了多少的资源。不过如果你的集群资源并没有多到任你挥霍的程度,这篇文章可以教你如何把集群资源了如指掌。 1.Continer数量计... 阅读详情

Spark on Yarn

1. 官方文档

http://spark.apache.org/docs/latest/running-on-yarn.html

2. 配置安装

1.安装hadoop:需要安装HDFS模块和YARN模块,HDFS必须安装,spark运行时要把jar包存放到HDFS上。

2.安装Spark:解压Spark安装程序到一台服务器上,修改spark-env.sh配置文件,spark程序将作为YARN的客户端用于提交任务

export JAVA_HOME=/export/servers/jdk1.8

export HADOOP_CONF_DIR=/export/servers/hadoop/etc/hadoop

3.启动HDFS和YARN

3. 运行模式 (cluster模式和client模式)
  1. cluster模式

官网案例计算PI

spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
--driver-memory 1g \
--executor-memory 1g \
--executor-cores 1 \
/export/servers/spark/examples/jars/spark-examples_2.11-2.1.3.jar \
10

如果cluster可以运行 , client不能运行 , 就将下面配置添加到yarn-site.xml中即可 , 然后再分发到其他机器上即可

# 关闭虚拟机内存检查(避免虚拟机内存不足时,无法运行)
<property>  
    <name>yarn.nodemanager.vmem-check-enabled</name>  
    <value>false</value>  
</property> 
  1. client模式
spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode client \
--driver-memory 512m \
--executor-memory 512m \
--executor-cores 1 \
/export/servers/spark/examples/jars/spark-examples_2.11-2.1.3.jar \
10

spark-shell必须使用client模式

spark-shell --master yarn --deploy-mode client

  1. 两种模式的区别

cluster模式:Driver程序在YARN中运行,应用的运行结果不能在客户端显示,所以最好运行那些将结果最终保存在外部存储介质(如HDFS、Redis、Mysql)而非stdout输出的应用程序,客户端的终端显示的仅是作为YARN的job的简单运行状况。故当终端停止并不会影响它最终的运行

client模式:Driver运行在Client上,应用程序运行结果会在客户端显示,所有适合运行结果有输出的应用程序(如spark-shell) , 因此当终端停止时就不会继续运行

  1. 原理

    cluster模式:

在这里插入图片描述

​ Spark Driver首先作为一个ApplicationMaster在YARN集群中启动,客户端提交给ResourceManager的每一个job都会在集群的NodeManager节点上分配一个唯一的ApplicationMaster,由该ApplicationMaster管理全生命周期的应用。具体过程:

  1. 由client向ResourceManager提交请求,并上传jar到HDFS上

这期间包括四个步骤:

​ a).连接到RM

​ b).从RM的ASM(ApplicationsManager )中获得metric、queue和resource等信息。

​ c). upload app jar and spark-assembly jar

​ d).设置运行环境和container上下文(launch-container.sh等脚本)

  1. ResourceManager为该应用程序分配第一个Container,创建Spark ApplicationMaster(每个SparkContext都有一个ApplicationMaster)

  2. NodeManager启动ApplicationMaster,并向ResourceManager注册

  3. ApplicationMaster从HDFS中找到jar文件,启动SparkContext、DAGscheduler和YARN Cluster Scheduler

  4. ApplicationMaster向ResourceManager注册申请container资源

  5. ResourceManager通知NodeManager分配Container(每个container对应一个executor)

  6. Spark ApplicationMaster直接和container(executor)进行交互,完成这个分布式任务。

client模式:
在这里插入图片描述

​ 在client模式下,Driver运行在Client上,通过ApplicationMaster向RM获取资源。本地Driver负责与所有的executor container进行交互,并将最后的结果汇总。结束掉终端,相当于kill掉这个spark应用。一般来说,如果运行的结果仅仅返回到terminal上时需要配置这个。

​ 客户端的Driver将应用提交给Yarn后,Yarn会先后启动ApplicationMaster和executor,另外ApplicationMaster和executor都是装载在container里运行,container默认的内存是1G,ApplicationMaster分配的内存是driver- memory,executor分配的内存是executor-memory。同时,因为Driver在客户端,所以程序的运行结果可以在客户端显示,Driver以进程名为SparkSubmit的形式存在。

spark on yarn图解
在这里插入图片描述

Spark on YARN的cluster模式 目录 YARN架构 Spark on YARN的cluster模式 常用命令 日志查看与处理 参考资料 YARN架构 YARN是Hadoop2.0之后出现的集群资源的管理与任务调度的分布式框架。 资源管理: 集群中的资源(如内存、cpu)使用情况由主节点ResourceManager管理。从节点NodeManager管理自己所在节点的资源使用情况并报告给主节点Resou... 阅读详情

相关推荐

spark on yarn 安装部署

准备 下载spark,地址:http://spark.apache.org/downloads.html 下载不带hadoop预编译环境的spark最新版本,好处是可以自由使用最新版本的hadoop 下载hadoop,地址:https://hadoop.apache.org/releases.html 1.基本环境配置 [ec2-user@rcf-ai-datafeed-spark-prd-01 conf]$ cat /etc/hosts 127.0.0.1 localhost localh...

一蓑烟雨 1292

Spark on YARN

前言 Spark 可以跑在很多集群上,比如跑在local上,跑在Standalone上,跑在Apache Mesos上,跑在Hadoop YARN上等等。不管你Spark跑在什么上面,它的代码都是一样的,区别只是–master的时候不一样。其中Spark on YARN是工作中或生产上用的非常多的一种运行模式。 YARN产生背景 以前没有YARN的时候,每个分布式框架都要跑在一个集群上面,比如说H...

liweihope的博客 2万+

Spark on yarn安装部署

〇、说明 spark on yarn 中没有master和slave,凡是涉及到两个角色的安装基本都是standalone模式。spark on yarn 仅仅需要按照以下步骤安装启动即可。分为spark on yarn-cluster和spark on yarn-client(区别自行百度,网上很多。) 一、准备 1.HDFS 2.YARN 3.JDK8 二、安装Scala 1.下载 官网下载(...

weixin_43860247的博客 1263

Spark on yarn

Spark 的on yarn 集群模式 ●官方文档 http://spark.apache.org/docs/latest/running-on-yarn.html 准备工作 1.安装启动Hadoop(需要使用 HDFS 和 YARN,已经ok) 2.安装单机版Spark(已经ok) 注意:不需要集群,因为把Spark程序提交给YARN运行本质上是把字节码给YARN集群上的...

最慢的步伐不是跬步,而是徘徊;最快的脚步不是冲刺,而是坚持 9000

Spark on YARN 笔记

一直对hadoop这套局限在会用就好,没有对hadoop生态有个系统性的深入了解,也就导致在用的时候出问题很难找到关键的原因,都得google so 各种找相关信息。所以现在觉得,还是得花一些时间,至少把与平时用到的相关部分的原理、概念理解清楚。只要是用hadoop生态的组件,很多都会用YARN来管理资源与任务分配。而资源分配的合理与否,直接关系到任务的执行效率,甚至决定成功或失败。spark又是现

thriving_fcl的博客 1575

保姆级教程:手把手教你用记事本修改DNF私服PVF,打造毕业级自定义装备

本文提供了一份详细的DNF私服PVF文件修改教程,教你如何使用记事本轻松打造毕业级自定义装备。从PVF文件结构解析到基础属性修改,再到高级特效设置,手把手教你实现装备属性的全方位定制,无需编程基础即可完成。

weixin_42525385的博客 1196

spark on yarn

Spark on yarn的 两种运行模式和运行原理 一 回顾—spark和mapreduce区别 在MapReduce中,计算的最上层单元是是job,系统加载数据,执行一个map函数,shuffle数据,执行一个reduce函数,然后将数据写回到持久化存储器,Spark有一个类似job的概念(虽然一个job可以由多个stage组成,而不是仅仅只包含map和reduce),不过Spark还有一...

maybewecan 412

从NVLINK到EthLink:GPU互联技术演进全解析(含最新行业趋势)

本文深入解析了从NVLINK到EthLink的GPU互联技术演进,重点剖析了Scale-up与Scale-out两种核心范式。文章详细对比了NVLINK、UALINK及革命性的EthLink技术,后者创新性地将以太网改造为支持Load/Store与RDMA双语义的高性能互联网络,旨在打破封闭生态,实现高性能与开放性的统一。最后,文章提供了技术选型指南并展望了未来以以太网为主导、语义融合的行业趋势。

weixin_29204749的博客 178

从Hive on YARN到Hive on Spark

本实战通过配置 Hive 与 Spark 集成,分别基于 YARN(MapReduce)和 Spark 引擎执行词频统计任务,验证了 Hive on Spark 在查询性能上的显著优势,同时展示了 Hadoop、Hive 和 Spark 的协同部署与关键配置步骤。

howard2005的专栏 1778

PADS Layout差分对布线实战:从规则设置到高速信号优化

本文详细讲解了在PADS Layout中进行差分对布线的完整实战流程。从在Layout中定义差分对网络,到进入Router配置线宽、间距等关键规则,再到布线实战技巧与高速信号完整性优化,系统阐述了如何确保差分信号(如USB、HDMI)的稳定传输,是高速PCB设计的核心技能。

weixin_29274969的博客 522

手把手教你为RV1126开发板点亮3寸MIPI屏(ST7701S驱动,含设备树配置避坑点)

本文详细介绍了RV1126开发板适配3寸MIPI屏幕(ST7701S驱动)的全流程,涵盖硬件设计、信号完整性保障、屏幕时序参数计算及设备树配置等关键步骤。特别针对MIPI差分信号布线、电压匹配和设备树配置中的常见问题提供了实用解决方案,帮助开发者高效完成屏幕适配工作。

weixin_42524703的博客 334

spark on yarn client和spark on yarn cluster区别

概述 spark on yarn 的优势是每个Spark executor作为一个Yarn容器(container)运行,Spark可以使得多个Task在同一个容器(container)里面运行;有两种模式:yarn-client和yarn-cluster yarn-client:driver运行在client端;适用于调式,能直接看到各种日志;连接断了,任务就挂了 driver运行在am中;日......

jim8973的博客 696

QML从入门到实战 - 完整学习路线

想入门 QML 开发?来 “从零开始学 QML” 专栏,海量源码 + 实战案例 + 大型项目拆解,手把手教你搞定跨平台 UI 设计,小白也能轻松掌握!

BenBierBa的博客 3479

Spark on YARN的部署

Spark on YARN的原理就是依靠yarn来调度Spark,比默认的Spark运行模式性能要好的多,前提是首先部署好hadoop HDFS并且运行在yarn上,然后就可以开始部署spark on yarn了,假设现在准备环境已经部署完毕,这里是在CDH 环境下部署Spark   除了上面的环境准备,安装Spark前,还应该保证Scala正常安装,基于Scala的情况下,就可以开始部署Spa...

qq_41607306的博客 1120

PCL 改进快速欧式聚类【2025最新版】

在FEC: Fast Euclidean Clustering for Point Cloud Segmentation一文的基础上对算法进行改进。博客长期更新,本文最近更新时间为:2025年9月16日。

点云侠的博客 2570

拼多多笔试真题-多多送快递(C++/Py/Java /Js/Go)

拼多多技术岗笔试 8月2号真题,拼多多笔试第三题【多多送快递】,提供详细思路讲解以及Java、C++、Python、Go、JavaScript多语言代码实现。拼多多笔试真题【多多送快递】多语言题解。

qq_45776114的博客 293

Spark on YARN 的运行架构总览

ResourceManager 根据资源情况分配 Container 给 ApplicationMaster,ApplicationMaster 与对应的 NodeManager 通信,让 NodeManager 启动包含 Spark Executor 的容器。:Spark Driver 在 ApplicationMaster 中或单独的容器中运行,负责调度和监控任务,Executor 在各自容器中执行具体的 Spark 任务,完成数据处理。

全局可见 1109

Qt/C++音视频开发1-vlc解码播放

一、前言 最开始接触视频监控这块的时候,用的就是vlc作为解码的内核,主要是因为vlc使用简单方便,直接传入一个句柄即可,简单几行代码就可以实现一个视频流播放,很适合初学者使用,也推荐初学者用qt+vlc来做播放器,提供的接口还是非常友好的,而且门类特别多,想要获取媒体文件的各种信息比如宽高,设置宽高比等,直接调用接口函数传入参数就能设置。 所有用vlc做视频监控解码的人都会遇到一个问题,那就是鼠标事件被接管拦截了,不能识别鼠标事件,比如双击最大化等,这就很憋屈了,明明很好用的一个东西,怎么突然之间鼠标事件

Qt/C++视频监控/推流/物联网/大屏系统/自定义控件/UI定制/输入法 4939

SPARK ON YARN内存计算

文章目录1.YARN关键参数配置1.1 yarn中单个nodemanager控制container的个数1.2 resourceManager1.3 executor堆外内存2.YARN内存参数计算实例2.1 SPARK ON YARN-CLUSTER2.2 SPARK ON YARN-CLIENT3. spark on yarn内存申请3.1 yarn两个默认内存参数3.2 spark3.3 yarn对spark任务内存的申请计算方式3.3.1 executer使用的内存计算3.3.2 driver的内存

sxau_zhangtao的博客 1321

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Spark on YARN思想

Hadoop YARN 1.YARN

509

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Spark之Core高级知识分享三(Spark on yarn)

1.YARN产生背景 生产中spark作业几乎都是跑在yarn上,不用Standalone,因为集群中可能有MR、Spark、MPI等各类作业,若跑在各自的资源调度框架上,那么整体集群的资源利用率肯定是有问题的。 为了统一作业调度以及资源管理,yarn就诞生了,当前YARN能支持所有主流作业的资源管理和作业调度(batch、交互式、online、strem、in-memory、机器学习、图计算等框...

君永夜 1050

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Spark on Yarn架构原理

一. 前言 SPARK相关概念 Driver:和ClusterManager通信,进行资源申请、任务分配并监督其运行状况等。 ClusterManager:这里指YARN。 DAGScheduler:把spark作业转换成Stage的DAG图。 TaskScheduler:把Task分配给具体的Executor。 YARN相关概念 ResourceManager:负责整个集...

不见其长,日有所长 4546

Spark On Yarn 源码分析

首先说明下AppMaster 与Driver 的区别,每个运行在yarn上的服务都需要有一个AppMaster,而Driver是一个Spark任务特有的,Driver 会负责创建SparkContext对象【内部维护了用于任务划分以及执行的DAGScheduler以及TaskScheduler】,DAGScheduler会将任务划分为job stage 然后交给TaskScheduler调度分配给Executor执行。【注:Driver 不仅仅可以用来创建SparkContext 还可以做一些其他的需求..

sinat_23257429的博客 1233

Spark on Yarn的运行原理

一、YARN是集群的资源管理系统 1、ResourceManager:负责整个集群的资源管理和分配。 2、ApplicationMaster:YARN中每个Application对应一个AM进程,负责与RM协商获取资源,获取资源后告诉NodeManager为其分配并启动Container。 3、NodeManager:每个节点的资源和任务管理器,负责启动/停止Container,并监视...

xiaoxiaohacker的专栏 1153

Spark on Yarn任务运行的日志收集

Spark on yarn 环境:基于CDH的大数据组件平台。 yarn服务有resource manager和node manager组成,在yarn上运行的任务,由一个ApplicationMaster和多个container组成。 Spark 运行由一个driver和多个executor组成,Spark on Yarn时,Spark的driver和executor分别运行在yarn的c...

走向程序的康庄大道 8610
上一篇: 大数据实时阶段----【Spark03之dataFrame、dataSet、schema】
下一篇: kafka为什么那么快
CoderBoom
博客等级 码龄8年 62粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值