`

spark-学习笔记--17 spark1.3 资源调度

 
阅读更多

spark1.3  资源调度

 

 

1、判断当前是否为alive master ,不是直接返回

2、取状态为alive的 worker 并随机打乱

3、首先调度Driver-- yarn-cluster模式下会执行

     3.1 当前Driver还没启动的话 ,遍历所有活着的worker 

3.2 若这个worker空闲内存 >= Driver需要的内存  并且  worker的空闲cpu数量 >= Driver需要的cpu数量  则 启动Driver

      并将Driver从waitingDrivers队列移除

         3.2.1 启动driver:

                将Driver加入 worker的缓存

                将worker内使用的内存 和 cpu数量  都加上Driver需要的内存和cpu数量

                把worker放入Driver的缓存中--相互引用

                调用worker的actor   给他发送lunchDriver消息   让worker启动Driver  将Driver状态设置为 running

 

 

4、application 调度

 

    两种调度算法: spreadoutApps  和  非 spreadoutApps    之后的版本对此有调整

4.1 默认spreadoutApps----------将 要启动的executor平均分配到各个worker上去

    4.1.1 遍历waitingApps 中的 application 

      4.1.1.1  从workers中 过滤出状态为alive的 ,

          再次过滤出可以被app使用的worker(之前没有启动过executor 且剩余内存大于 可以启动的一个executor内存)

  然后按照剩余cpu数量倒序排列

  4.1.1.2  创建一个空数组  存储了要分配给每个worker的cpu数量

  4.1.1.3  获取到底要分配多少cpu 取app剩余要分配的cpu数量和 worker总共可用数量的最小值

              4.1.1.4  遍历可以分配的worker  若还有可以分配的cpu 分配cpu

  4.1.1.5  遍历worker 只要上面给worker分配了core  就在这个worker上启动executor

           --- 在application缓存中添加 executor  创建executor对象

  

 

    4.1 非spreadoutApps----------将每个app 分配到尽可能少的worker上去

分享到:
评论

相关推荐

    spark-hive-2.11和spark-sql-以及spark-hadoop包另付下载地址

    在标题"spark-hive-2.11和spark-sql-以及spark-hadoop包另付下载地址"中,我们关注的是Spark与Hive的特定版本(2.11)的集成,以及Spark SQL和Spark对Hadoop的支持。这里的2.11可能指的是Scala的版本,因为Spark是用...

    spark-3.1.2.tgz & spark-3.1.2-bin-hadoop2.7.tgz.rar

    Spark-3.1.2.tgz和Spark-3.1.2-bin-hadoop2.7.tgz是两个不同格式的Spark发行版,分别以tar.gz和rar压缩格式提供。 1. Spark核心概念: - RDD(弹性分布式数据集):Spark的基础数据结构,是不可变、分区的数据集合...

    spark-assembly-1.5.2-hadoop2.6.0.jar

    Spark-assembly-1.5.2-hadoop2.6.0.jar中的优化包括RDD(弹性分布式数据集)的缓存策略、Task调度优化、内存管理优化等,以确保在大数据处理中实现高效的性能。 7. 开发和调试: 开发者在本地开发时,可以直接...

    spark-2.4.8-bin-hadoop2.7.tgz

    安装和配置Spark 2.4.8时,你需要根据你的环境调整配置文件,如`spark-env.sh`或`spark-defaults.conf`,以适应你的Hadoop集群或本地环境。在使用Spark时,你可以通过`spark-submit`命令提交应用程序,或者直接在...

    spark-3.2.4-bin-hadoop3.2-scala2.13 安装包

    综上所述,“spark-3.2.4-bin-hadoop3.2-scala2.13”安装包是构建和运行Spark应用程序的基础,涵盖了大数据处理、流处理、机器学习等多个领域,为开发者提供了高效、灵活的数据处理平台。通过深入理解和熟练运用,...

    编译的spark-hive_2.11-2.3.0和 spark-hive-thriftserver_2.11-2.3.0.jar

    spark-hive_2.11-2.3.0 spark-hive-thriftserver_2.11-2.3.0.jar log4j-2.15.0.jar slf4j-api-1.7.7.jar slf4j-log4j12-1.7.25.jar curator-client-2.4.0.jar curator-framework-2.4.0.jar curator-recipes-2.4.0....

    spark-2.4.7-bin-hadoop2.6.tgz

    在解压`spark-2.4.7-bin-hadoop2.6.tgz`后,您会得到一个名为`spark-2.4.7-bin-hadoop2.6`的目录,其中包括以下组件: - `bin/`:包含可执行文件,如`spark-submit`,`pyspark`,`spark-shell`等,用于启动和管理...

    spark-2.0.0-bin-hadoop2.6.tgz

    本资源是spark-2.0.0-bin-hadoop2.6.tgz百度网盘资源下载,本资源是spark-2.0.0-bin-hadoop2.6.tgz百度网盘资源下载

    spark-3.1.2-bin-hadoop3.2.tgz

    5. **交互式Shell**:Spark提供了一个名为`spark-shell`的交互式环境,方便开发人员测试和调试代码。 **Spark与Hadoop 3.2的兼容性** Hadoop 3.2引入了许多新特性,如: 1. **多命名空间**:支持多个HDFS命名空间...

    spark-3.1.3-bin-without-hadoop.tgz

    这个"spark-3.1.3-bin-without-hadoop.tgz"压缩包是Spark的3.1.3版本,不含Hadoop依赖的二进制发行版。这意味着在部署时,你需要自行配置Hadoop环境,或者在不依赖Hadoop的环境中运行Spark。 Spark的核心特性包括...

    spark-1.6.0-bin-hadoop2.6.tgz

    Spark-1.6.0-bin-hadoop2.6.tgz 是针对Linux系统的Spark安装包,包含了Spark 1.6.0版本以及与Hadoop 2.6版本兼容的构建。这个安装包为在Linux环境中搭建Spark集群提供了必要的组件和库。 **1. Spark基础知识** ...

    apache-doris-spark-connector-2.3_2.11-1.0.1

    Spark Doris Connector(apache-doris-spark-connector-2.3_2.11-1.0.1-incubating-src.tar.gz) Spark Doris Connector Version:1.0.1 Spark Version:2.x Scala Version:2.11 Apache Doris是一个现代MPP分析...

    spark--bin-hadoop3-without-hive.tgz

    本压缩包“spark--bin-hadoop3-without-hive.tgz”提供了Spark二进制版本,针对Hadoop 3.1.3进行了编译和打包,这意味着它已经与Hadoop 3.x兼容,但不包含Hive组件。在CentOS 8操作系统上,这个版本的Spark已经被...

    spark-2.3.1-bin-hadoop2.7.zip

    - `bin`:包含Spark的可执行脚本,如`spark-shell`(Scala交互式环境)、`pyspark`(Python交互式环境)和`spark-submit`(提交Spark应用)等。 - `conf`:配置文件目录,其中`spark-defaults.conf`是默认配置,可以...

    spark-2.4.0-bin-hadoop2.7.tgz

    与hadoop2.7版本的集成,意味着Spark可以很好地兼容Hadoop生态系统,包括HDFS(Hadoop分布式文件系统)和YARN(资源调度器)。 在"spark-2.4.0-bin-hadoop2.7.tgz"这个压缩包中,主要包含以下几个部分: 1. **...

    spark-3.2.1-bin-hadoop2.7.tgz

    总结一下,"spark-3.2.1-bin-hadoop2.7.tgz"是一个专为Linux设计的Spark版本,与Hadoop 2.7兼容,提供了高效的大数据处理能力,涵盖了核心计算、SQL查询、流处理、机器学习和图计算等多个方面。在实际应用中,开发者...

    spark-3.2.0-bin-hadoop3.2.tgz

    这个压缩包"spark-3.2.0-bin-hadoop3.2.tgz"包含了Spark 3.2.0版本的二进制文件,以及针对Hadoop 3.2的兼容构建。 Spark的核心组件包括:Spark Core、Spark SQL、Spark Streaming、MLlib(机器学习库)和GraphX(图...

    spark-2.2.2-bin-hadoop2.7.tgz

    1. `bin`:存放可执行脚本,如`spark-submit`用于提交Spark应用,`spark-shell`提供交互式Shell环境。 2. `conf`:配置文件夹,存放默认配置模板,如`spark-defaults.conf`,用户可以根据需求自定义配置。 3. `jars`...

    spark-3.1.3-bin-hadoop3.2.tgz

    在这个特定的压缩包"spark-3.1.3-bin-hadoop3.2.tgz"中,我们得到了Spark的3.1.3版本,它已经预编译为与Hadoop 3.2兼容。这个版本的Spark不仅提供了源码,还包含了预编译的二进制文件,使得在Linux环境下快速部署和...

    spark-3.0.0-bin-hadoop2.7.tgz

    总的来说,Spark-3.0.0-bin-hadoop2.7.tgz是一个全面的大数据处理解决方案,涵盖了从实时流处理到机器学习的各种需求,尤其适合那些已经部署了Hadoop 2.7环境的组织使用。无论是开发人员还是数据分析师,都能从中...

Global site tag (gtag.js) - Google Analytics