博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spark on YARN工作原理
阅读量:4157 次
发布时间:2019-05-26

本文共 1118 字,大约阅读时间需要 3 分钟。

转自:http://www.wtoutiao.com/p/2e82G8C.html

Spark on YARN工作原理

Spark on YARN工作原理

MapReduce on YARN的工作流程:加载数据,执行mapshufflereduce,将结果写入持久化存储。

Spark on YARN的工作流程:spark中一个job包含多个stage,而非只有mapreduceapplication包含多个job


Spark工作原理

用户通过spark-sumbit提交spark application后,会启动相对应的spark driver进程,从YARN分配得到container,动态的分配executorspark层面并不能动态的调整从Yarn分配的container资源(containerYarn分配资源的基本单位,yarncontainer分配的资源控制体现在vcorememory上)。Yarn根据spark.executor.memoryspark.executor.cores等参数指定的要求的大小分配executor运行的containernum-executors指定executor的数量。资源申请成功后,driver进程将spark作业转化为多个stage。每个stage执行一批tasktask是最小的计算单元,负责执行一模一样的计算逻辑),stage执行完毕后,会在各节点本地磁盘写入中间结果,调度下一个stage,下一个stagetask输入数据是上一个stage输出的中间结果。

Spark-submit提交任务是对应的相关参数如下:

--driver-memory

--executor-memory

--driver-cores

--executor-cores

--driver-cores

--queue

--number-executors

备注(这些参数spark on Yarn都支持,有些参数比如--total-executor-cores之类的spark standaloneMesos支持,具体参数支持情况执行spark-submit --help查看)

Executor内存的分配

--executor-memory中指定的内存或者spark.executor.memory默认的内存有三个用途:

1.Task执行用户编写的代码时使用

2.Task通过shuffle获取上一个stagetask输出,进行聚合等操作

  spark.shuffle.memoryFraction,默认0.2

3.RDD持久化使用

  spark.storage.memoryFraction,默认0.6

转载地址:http://jdyxi.baihongyu.com/

你可能感兴趣的文章
vlc播放g711 rtp流媒体sdp文件及其参数介绍
查看>>
JRTPLIB在arm和pc间收不到数据包的问题
查看>>
JZ2440 开发板 arm nand_write_ecc: Attempt to write not page aligned data 0 bytes written: ERROR
查看>>
vs2010下编译osip2和eXosip2的4.0.0版的静态库及搭建开发环境
查看>>
rtp payload类型
查看>>
Linux sync命令:刷新文件系统缓冲区
查看>>
从RTP包里面得到H264视频数据的方法
查看>>
zlib交叉编译
查看>>
svn 主干(trunk)、标记(tag)、分支(branch)使用
查看>>
DHCP原理及配置
查看>>
基于Linux WiFi ap 的hostapd 工具的使用方法
查看>>
rtl8188 wifi模块设置
查看>>
使用wpa_supplicant测试 WIFI 驱动模块——RTL8188CUS
查看>>
udhcpc 和 udhcpd
查看>>
使用udhcpc能获取到DHCP自动分配的IP,但是该IP却没有设置到网卡上
查看>>
显示客户端client 连接的信息
查看>>
基于嵌入式Linux的无线路由器设计——Bridged Adapter网桥模式
查看>>
Matlab中使用.p文件的方法
查看>>
multisim示波器、四踪示波器的使用方法
查看>>
一元多项式加法乘法运算c
查看>>