热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2021年大数据Spark(九):SparkOnYarn两种模式总结

目录SparkOnYarn两种模式引入一、当一个MR应用提交运行到HadoopYARN上时二、当一个Spark应用提交运行在集群上时注意client模式cluster

目录

Spark On Yarn两种模式

引入

一、当一个MR应用提交运行到Hadoop YARN上时

二、当一个Spark应用提交运行在集群上时

注意

client 模式

cluster 模式

总结

- Client模式:学习测试时使用,开发不用,了解即可

- Cluster模式:生产环境中使用该模式




Spark On Yarn两种模式


引入


一、当一个MR应用提交运行到Hadoop YARN上时

包含两个部分:应用管理者AppMaster和运行应用进程Process(如MapReduce程序MapTask和ReduceTask任务),如下图所示:

 


二、当一个Spark应用提交运行在集群上时

应用架构有两部分组成:Driver Program(资源申请和调度Job执行)和Executors(运行Job中Task任务和缓存数据),都是JVM Process进程:

 

而Driver程序运行的位置可以通过--deploy-mode 来指定,

值可以是:

1.client:表示Driver运行在提交应用的Client上(默认)

2.cluster:表示Driver运行在集群中(Standalone:Worker,YARN:NodeManager)

 

补充Driver是什么:

The process running the main() function of the application and creating the SparkContext

运行应用程序的main()函数并创建SparkContext的进程

 


注意

cluster和client模式最最本质的区别是:Driver程序运行在哪里

企业实际生产环境中使用cluster

 


client 模式

DeployMode为Client,表示应用Driver Program运行在提交应用Client主机上,示意图如下:

 

   运行圆周率PI程序,采用client模式,命令如下:


SPARK_HOME=/export/server/spark${SPARK_HOME}/bin/spark-submit \--master yarn  \--deploy-mode client \--driver-memory 512m \--executor-memory 512m \--num-executors 1 \--total-executor-cores 2 \--class org.apache.spark.examples.SparkPi \${SPARK_HOME}/examples/jars/spark-examples_2.11-2.4.5.jar \10

http://node1:8088/cluster

 

 

 


cluster 模式

DeployMode为Cluster,表示应用Driver Program运行在集群从节点某台机器上,示意图如下:

 

运行圆周率PI程序,采用cluster模式,命令如下:


SPARK_HOME=/export/server/spark${SPARK_HOME}/bin/spark-submit \--master yarn \--deploy-mode cluster \--driver-memory 512m \--executor-memory 512m \--num-executors 1 \--total-executor-cores 2 \--class org.apache.spark.examples.SparkPi \${SPARK_HOME}/examples/jars/spark-examples_2.11-2.4.5.jar \10

http://node1:8088/cluster

 

 

 

 

 

 

 

 

 


总结

Client模式和Cluster模式最最本质的区别是:Driver程序运行在哪里。


- Client模式:学习测试时使用,开发不用,了解即可

  1.Driver运行在Client上,和集群的通信成本高

  2.Driver输出结果会在客户端显示


- Cluster模式:生产环境中使用该模式

  1.Driver程序在YARN集群中,和集群的通信成本低

  2.Driver输出结果不能在客户端显示

  3.该模式下Driver运行ApplicattionMaster这个节点上,由Yarn管理,如果出现问题,yarn会重启ApplicattionMaster(Driver)


推荐阅读
  • Hadoop之Yarn
    目录1Hadoop1.x和Hadoop2.x架构区别2Yarn概述3Yarn基本架构4Yarn工作机制5作业提交全过程6资源调度器7任务的推测执行1Hadoop1.x和Hadoo ... [详细]
  • MR程序的几种提交运行模式本地模型运行1在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行-- ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 深入理解Kafka服务端请求队列中请求的处理
    本文深入分析了Kafka服务端请求队列中请求的处理过程,详细介绍了请求的封装和放入请求队列的过程,以及处理请求的线程池的创建和容量设置。通过场景分析、图示说明和源码分析,帮助读者更好地理解Kafka服务端的工作原理。 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • ZooKeeper 学习
    前言相信大家对ZooKeeper应该不算陌生。但是你真的了解ZooKeeper是个什么东西吗?如果别人面试官让你给他讲讲ZooKeeper是个什么东西, ... [详细]
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • Hadoop源码解析1Hadoop工程包架构解析
    1 Hadoop中各工程包依赖简述   Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。   GoogleCluster:ht ... [详细]
  • 2018-02-1420:07:13,610ERROR[main]regionserver.HRegionServerCommandLine:Regionserverexiting ... [详细]
  • 【转】腾讯分析系统架构解析
    TA(TencentAnalytics,腾讯分析)是一款面向第三方站长的免费网站分析系统,在数据稳定性、及时性方面广受站长好评,其秒级的实时数据更新频率也获得业界的认可。本文将从实 ... [详细]
  • Kylin 单节点安装
    软件环境Hadoop:2.7,3.1(sincev2.5)Hive:0.13-1.2.1HBase:1.1,2.0(sincev2.5)Spark(optional)2.3.0K ... [详细]
  • 前言折腾了一段时间hadoop的部署管理,写下此系列博客记录一下。为了避免各位做部署这种重复性的劳动,我已经把部署的步骤写成脚本,各位只需要按着本文把脚本执行完,整个环境基本就部署 ... [详细]
  • Zookeeper为分布式环境提供灵活的协调基础架构。ZooKeeper框架支持许多当今最好的工业应用程序。我们将在本章中讨论ZooKeeper的一些最显着的应用。雅虎ZooKee ... [详细]
  • java.lang.UnsatisfiedLinkError: …….io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
    在利用hadoop运行MapReduce项目时,提示报错(注意最后是Z):Exceptioninthreadmainj ... [详细]
  • SparkRDD宽窄依赖及Stage划分
    1.术语解释:Master(Standalone):资源管理的主节点(进程)ClusterManager:在集群上获取资源的外部服务(例如standalone,Mesos,Yarn ... [详细]
author-avatar
一切皆空2502861573
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有