2024.1.3 Spark on Yarn部署方式与工作原理

目录

Spark集群类型有以下几种:

Spark的部署方式有以下几种:

Spark on YARN的部署方式有两种:client模式和cluster模式。

Spark底层的工作原理,执行流程


Spark集群类型有以下几种:

  1. Standalone模式:这是Spark自带的一种集群管理模式,可以在单个机器上启动一个Spark集群,适用于开发和测试环境。
  2. YARN模式:这是一种分布式资源管理器,可以与Hadoop集成,将Spark作为YARN应用程序运行在Hadoop集群上。
  3. Mesos模式:这是一种通用的集群管理器,可以与多种应用程序框架集成,包括Spark。Mesos可以在多个机器上共享资源,并根据需要分配资源给不同的应用程序。
  4. Kubernetes模式:这是一种开源的容器编排平台,可以用于部署和管理容器化的应用程序,包括Spark。Kubernetes可以自动管理容器的调度和资源分配。

Spark的部署方式有以下几种:

  1. Standalone模式:在Standalone模式下,Spark集群由一个主节点和多个工作节点组成。主节点负责调度任务和资源管理,工作节点负责执行任务。这种部署方式适用于小规模的集群。

  2. YARN模式:YARN是Hadoop的资源管理器,可以用来管理Spark集群的资源。在YARN模式下,Spark作为一个YARN应用程序运行在YARN集群上。这种部署方式适用于大规模的集群。

  3. Mesos模式:Mesos是一个通用的集群管理器,可以用来管理多种类型的应用程序。在Mesos模式下,Spark作为一个Mesos框架运行在Mesos集群上。这种部署方式也适用于大规模的集群。

  4. Kubernetes模式:Kubernetes是一个开源的容器编排平台,可以用来管理容器化的应用程序。在Kubernetes模式下,Spark作为一个Kubernetes应用程序运行在Kubernetes集群上。这种部署方式适用于容器化的环境。

  5. Amazon EMR模式:Amazon EMR是亚马逊提供的一种托管式的大数据处理服务,可以用来快速、简便地部署Spark集群。在Amazon EMR模式下,Spark作为一个EMR应用程序运行在EMR集群上。这种部署方式适用于亚马逊云环境。

 

Spark on YARN的部署方式有两种:client模式和cluster模式。

Client部署方式: Driver进程运行在你提交程序的那台机器上
    优点: 将运行结果和运行日志全部输出到了提交程序的机器上,方便查看结果
    缺点: Driver进程和Yarn集群可能不在同一个集群中,会导致Driver和Executor进程间进行数据交换的时候,效率比较低
    使用: 一般用在开发和测试中
    
Cluster部署方式: Driver进程运行在集群中某个从节点上
    优点: Driver进程和Yarn集群在同一个集群中,Driver和Executor进程间进行数据交换的时候,效率比较高
    缺点: 需要去18080或者8088页面查看日志和运行结果
    使用: 一般用在生产环境使用

        两种部署方式区别就是Driver运行的地方不一样,在哪提交的就在哪启动

Spark底层的工作原理,执行流程

用户写完代码        -        使用submit命令提交        -       在哪提交就在哪启动deiver进程        -        进程是JVM进程 - 创建Sparkcontext - 用py4j把python转成java - driver向 master申请资源 - master使用先进先出规则来分配资源 - driver拿到资源就去找worker ,通知worker启动Executor进程,准备干活 - 之后driver开始加载代码,确定每个任务需要分配给executor进行执行 - deiver通知executor开始执行任务 - executor开始真正的干活,执行任务时发现有大量的python函数,而executor是jvm的,所以他会调用服务器的python解释器来执行 - driver持续监控executor的工作状态,类似心跳机制 - 任务完成后,driver通知master回收资源,释放自己

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/594340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

产品Axure的安装以及组件介绍

Axure介绍: Axure是一款用户体验设计工具,可以用于创建交互式原型、线框图和设计文档。它支持快速原型开发、界面设计、信息架构、流程图和注释等功能,可以帮助设计师快速地创建和共享交互式原型,从而更好地与客户和团队协作。 …

【C++】HP-Socket(一): 下载、Linux上编译、Windows远程编译Linux版本

1、简介 国产、高性能、跨平台网络通信框架。 作者于2024-01-01更新了Release版本v5.9.4,辛苦了,向作者致敬! 源码下载: https://gitee.com/mirrors/hp-socket https://github.com/ldcsaa/HP-Socket 2、编译 2.1 在Linux上编…

《Vue3 前端构建工具》 Vue-cli 与 Vite 创建项目的插件和配置对比

前言 2024 年 啦!Vue2 也于 2023.12.31 寿终正寝 ! 然而我的 Vue3 升级一再拖延(惭愧不已)~ 赶起来吧~ 今天用 vue-cli 和 vite 分别创建了 Vue3 项目,具体实现步骤见如下两篇。 《基于 Vue Cli4.x Vue3 TS styl…

OceanBase入选Gartner®云数据库管理系统魔力象限“荣誉提及”

近日,全球IT市场研究和咨询公司Gartner发布最新报告《Magic Quadrant™ for Cloud Database Management Systems》(全球云数据库管理系统魔力象限)。全自研分布式数据库 OceanBase 入选“荣誉提及”,2022 年推出的云数据库 OB Clo…

优思学院|为什么精益生产在你的企业就不管用呢?

精益生产(Lean Production)是一种旨在提高效率、减少浪费、优化流程的生产管理理念。然而,尽管它的理念广受推崇,但在实际应用中,许多企业却发现精益生产似乎并不奏效。那么,问题出在哪里呢? 企…

基于华为ENSP模拟器-vlan划分网络

需求 不连外网的内网。需求隔离故障和隔离广播风暴,并要保证网络的连通。 解决方案使用三层交互机,设置vlan用于隔离网络,并在三层交互机为网关保证各个vlan之间的通讯。 实现 使用三层交互机,设置vlan用于隔离网络&#xff0…

TB-C/C++

1.main函数之前之后执行的代码 设置栈指针初始化静态变量和全局变量(.data段内容,已初始化且不为0)赋初值(.bss段内容,未初始化的全局变量和静态变量)传参(argc,argv)atexit() 在…

Paddle3D 2 雷达点云CenterPoint模型训练

2 Paddle3D 雷达点云CenterPoint模型训练–包含KITTI格式数据地址 2.0 数据集 百度DAIR-V2X开源路侧数据转kitti格式。 2.0.1 DAIR-V2X-I\velodyne中pcd格式的数据转为bin格式 参考源码:雷达点云数据.pcd格式转.bin格式 def pcd2bin():import numpy as npimport…

【EDA软件】国产嘉立创EDA使用

嘉立创(JLCPCB) 嘉立创(JLCPCB)提供的EDA专业版是一款在线的原理图设计与PCB设计工具,可以协助用户完成电子设计项目。以下是使用嘉立创EDA专业版的一般步骤: 注册与登录: 首先,你需…

实习知识整理11:确认订单并将订单的相关信息插入用户订单表和订单详情表

用户订单表: 订单详情表: 思路分析:首先我们需要知道当点击了确认订单按钮后,需要向后端传递哪些数据,先看用户订单表:ORDER_ID是不需要传的,这个可以在后台生成就行了;USER_ID是需要…

2023年12月GESP C++七级编程题转Python真题解析

七、2023年12月GESP C(Python)七级编程题 2023年12月GESP Python最高六级,但C与Python同级编程题相同。本篇引用2023年12月GESPC七级编程题,用Python实现。 【七级编程题1】 【试题名称】:商品交易 时间限制:1.0 s 内存限制&…

微信公众号请求获取相关权限后端代码

用微信的东西,总要避免到各种与微信那边的交互。 1.首先要有个接口,证明你是服务端(填写服务器配置) 接入概述 | 微信开放文档 主代码 /*** 服务器配置验证* param* return*/PassTokenGetMapping("/giveWxCheck")publi…

详解Vue3中的事件监听方式

本文主要介绍Vue3中的事件监听方式。 目录 一、v-on指令二、使用符号简写三、事件修饰符四、动态事件名五、常见的监听事件六、自定义事件 在Vue3中,事件监听的方式与Vue2有一些不同。 下面是Vue3中事件监听方式的详细介绍: 一、v-on指令 Vue3中仍然使…

​LeetCode解法汇总2487. 从链表中移除节点

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 描述: 给你一个…

WPF容器的背景对鼠标事件的影响

背景:在实现鼠标拖动窗口的过程中发现对父容器设置了鼠标拖动窗口的事件MouseLeftButtonDown private void DragWindow(object sender, MouseButtonEventArgs e) {if (e.LeftButton MouseButtonState.Pressed)DragMove(); } 问题:非常困惑的是&#x…

C# windows服务程序开机自启动exe程序

我们使用传统的Process.Start(".exe")启动进程会遇到无法打开UI界面的问题,尤其是我们需要进行开启自启动程序设置时出现诸多问题,于是我们就想到采用windows服务开机自启动来创建启动一个新的exe程序,并且是显式运行。 首先是打开…

软件测试入门(知识汇总)

1、黑盒测试、白盒测试、灰盒测试 1.1 黑盒测试 黑盒测试又叫功能测试、数据驱动测试 或 基于需求规格说明书的功能测试。该类测试注重于测试软件的功能性需求。 采用这种测试方法,测试工程师把测试对象看作一个黑盒子,完全不考虑程序内部的逻辑结构和…

clickhouseSQL日期相关

1. 毫秒级时间戳转日期/小时 --13位时间戳转具体时间 toDateTime(report_time / 1000) as _c00 -- 获取时间戳对应的时间点整点(结果:%Y-%m-%d %H:00:00.0) eg:2022-09-28 23:00:00.0 toStartOfHour(toDateTime(report_time / 1000)) AS _10-- 获取时间…

Rust使用gRPC

需要先安装protoc(Protocol Buffers Compiler),可据此Protobuf Compiler Installation下载 第一步:创建项目 创建两个新的Rust项目,分别作为服务端与客户端: cargo new rust_grpc_servercargo new rust_grp…

【操作系统习题】处理机调度与死锁

一、单选题 FCFS算法的就绪队列是按照进程的()排列。 B A、等待时间 B、到达时间 C、响应时间 D、运行时间设有4个作业同时到达,每个作业的执行时间均为2个小时,它们在一台处理机上按单道方式执行,则平均周转时间为&a…