热门标签 | 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)


推荐阅读
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • 协程作为一种并发设计模式,能有效简化Android平台上的异步代码处理。自Kotlin 1.3版本引入协程以来,这一特性基于其他语言的成熟理念,为开发者提供了新的工具,以增强应用的响应性和效率。 ... [详细]
  • spring boot使用jetty无法启动 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • 本文介绍如何通过整合SparkSQL与Hive来构建高效的用户画像环境,提高数据处理速度和查询效率。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 本文深入探讨了Go语言中的接口型函数,通过实例分析其灵活性和强大功能,帮助开发者更好地理解和运用这一特性。 ... [详细]
  • 深入理解云计算与大数据技术
    本文详细探讨了云计算与大数据技术的关键知识点,包括大数据处理平台、社会网络大数据、城市大数据、工业大数据、教育大数据、数据开放与共享的应用,以及搜索引擎与Web挖掘、推荐技术的研究及应用。文章还涵盖了云计算的基础概念、特点和服务类型分类。 ... [详细]
  • 如何高效解决Android应用ANR问题?
    本文介绍了ANR(应用程序无响应)的基本概念、常见原因及其解决方案,并提供了实用的工具和技巧帮助开发者快速定位和解决ANR问题,提高应用的用户体验。 ... [详细]
  • 本文详细记录了腾讯ABS云平台的一次前端开发岗位面试经历,包括面试过程中遇到的JavaScript相关问题、Vue.js等框架的深入探讨以及算法挑战等内容。 ... [详细]
  • 本文详细介绍了Android系统的四层架构,包括应用程序层、应用框架层、库与Android运行时层以及Linux内核层,并提供了如何关闭Android系统的步骤。 ... [详细]
  • mysql 授权!!
    为什么80%的码农都做不了架构师?MySQL的权限系统围绕着两个概念:认证-确定用户是否允许连接数据库服务器授权-确定用户是否拥有足够的权限执 ... [详细]
  • RTThread线程间通信
    线程中通信在裸机编程中,经常会使用全局变量进行功能间的通信,如某些功能可能由于一些操作而改变全局变量的值,另一个功能对此全局变量进行读取& ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
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社区 版权所有