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

2024-01-07 17:20:24

目录

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回收资源,释放自己

?

?

?

文章来源:https://blog.csdn.net/m0_49956154/article/details/135364187
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。