Spark:Yarn-cluster和Yarn-client区别与联系
来源:互联网 发布:php手机投票系统源码 编辑:程序博客网 时间:2024/05/16 16:19
https://www.iteblog.com/archives/1223.html
我们都知道Spark支持在yarn上运行,但是Spark on yarn有分为两种模式yarn-cluster和yarn-client,它们究竟有什么区别与联系?阅读完本文,你将了解。
Spark支持可插拔的集群管理模式(Standalone、Mesos以及YARN ),集群管理负责启动executor进程,编写Spark application 的人根本不需要知道Spark用的是什么集群管理。Spark支持的三种集群模式,这三种集群模式都由两个组件组成:master和slave。Master服务(YARN ResourceManager,Mesos master和Spark standalone master)决定哪些application可以运行,什么时候运行以及哪里去运行。而slave服务( YARN NodeManager, Mesos slave和Spark standalone slave)实际上运行executor进程。
当在YARN上运行Spark作业,每个Spark executor作为一个YARN容器(container)运行。Spark可以使得多个Tasks在同一个容器(container)里面运行。这是个很大的优点。
mapreduce.job.jvm.numtasks
。关于这个参数的介绍已经超过本篇文章的介绍。从广义上讲,yarn-cluster适用于生产环境;而yarn-client适用于交互和调试,也就是希望快速地看到application的输出。
从深层次的含义讲,yarn-cluster和yarn-client模式的区别其实就是Application Master进程的区别,yarn-cluster模式下,driver运行在AM(Application Master)中,它负责向YARN申请资源,并监督作业的运行状况。当用户提交了作业之后,就可以关掉Client,作业会继续在YARN上运行。然而yarn-cluster模式不适合运行交互类型的作业。而yarn-client模式下,Application Master仅仅向YARN请求executor,client会和请求的container通信来调度他们工作,也就是说Client不能离开。看下下面的两幅图应该会明白(上图是yarn-cluster模式,下图是yarn-client模式):
从源码实现,调度器等方面看,请参照本博客的《Spark on YARN集群模式作业运行全过程分析》和《Spark on YARN客户端模式作业运行全过程分析》的介绍。
- Spark:Yarn-cluster和Yarn-client区别与联系
- Spark:Yarn-cluster和Yarn-client区别与联系
- Spark:Yarn-cluster和Yarn-client区别与联系
- Spark:Yarn-cluster和Yarn-client区别与联系
- Spark:Yarn-cluster和Yarn-client区别与联系
- Spark:Yarn-cluster和Yarn-client区别与联系
- Spark:Yarn-cluster和Yarn-client区别与联系
- Spark:Yarn-cluster和Yarn-client区别与联系
- Spark:Yarn-cluster和Yarn-client区别与联系
- Spark:Yarn-cluster和Yarn-client区别与联系
- spark学习-62-Spark:Yarn-cluster和Yarn-client区别与联系
- spark on yarn中yarn-cluster与yarn-client区别
- Spark-submit模式yarn-cluster和yarn-client的区别
- Spark下Yarn-Cluster和Yarn-Client的区别
- spark中yarn-client和yarn-cluster区别
- Spark Yarn-cluster 与 Yarn-client
- Spark on Yarn-cluster与Yarn-client
- Spark Yarn-cluster与Yarn-client
- 汇编-十六进制转二进制输出
- H.264熵编码分析
- DB2查看配置
- java SpringMVC 邮件发送配置及Code
- 获取到session中key和value的方法
- Spark:Yarn-cluster和Yarn-client区别与联系
- Kotlin使用(一)基本语法
- STM32的CAN波特率计算
- 在ABAP/4中声明表格控制
- Docker入门六部曲——基本引导
- 用Appium让Android功能自动化测试飞起来
- 如何给线程命名
- 《顺序表和单链表的区别及应用场景+单链表经典例题》
- 各种容器和服务器之间的区别和联系