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的支持。这里的2.11可能指的是Scala的版本,因为Spark是用...
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中的优化包括RDD(弹性分布式数据集)的缓存策略、Task调度优化、内存管理优化等,以确保在大数据处理中实现高效的性能。 7. 开发和调试: 开发者在本地开发时,可以直接...
安装和配置Spark 2.4.8时,你需要根据你的环境调整配置文件,如`spark-env.sh`或`spark-defaults.conf`,以适应你的Hadoop集群或本地环境。在使用Spark时,你可以通过`spark-submit`命令提交应用程序,或者直接在...
综上所述,“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 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`的目录,其中包括以下组件: - `bin/`:包含可执行文件,如`spark-submit`,`pyspark`,`spark-shell`等,用于启动和管理...
本资源是spark-2.0.0-bin-hadoop2.6.tgz百度网盘资源下载,本资源是spark-2.0.0-bin-hadoop2.6.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版本,不含Hadoop依赖的二进制发行版。这意味着在部署时,你需要自行配置Hadoop环境,或者在不依赖Hadoop的环境中运行Spark。 Spark的核心特性包括...
Spark-1.6.0-bin-hadoop2.6.tgz 是针对Linux系统的Spark安装包,包含了Spark 1.6.0版本以及与Hadoop 2.6版本兼容的构建。这个安装包为在Linux环境中搭建Spark集群提供了必要的组件和库。 **1. Spark基础知识** ...
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二进制版本,针对Hadoop 3.1.3进行了编译和打包,这意味着它已经与Hadoop 3.x兼容,但不包含Hive组件。在CentOS 8操作系统上,这个版本的Spark已经被...
- `bin`:包含Spark的可执行脚本,如`spark-shell`(Scala交互式环境)、`pyspark`(Python交互式环境)和`spark-submit`(提交Spark应用)等。 - `conf`:配置文件目录,其中`spark-defaults.conf`是默认配置,可以...
与hadoop2.7版本的集成,意味着Spark可以很好地兼容Hadoop生态系统,包括HDFS(Hadoop分布式文件系统)和YARN(资源调度器)。 在"spark-2.4.0-bin-hadoop2.7.tgz"这个压缩包中,主要包含以下几个部分: 1. **...
总结一下,"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版本的二进制文件,以及针对Hadoop 3.2的兼容构建。 Spark的核心组件包括:Spark Core、Spark SQL、Spark Streaming、MLlib(机器学习库)和GraphX(图...
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版本,它已经预编译为与Hadoop 3.2兼容。这个版本的Spark不仅提供了源码,还包含了预编译的二进制文件,使得在Linux环境下快速部署和...
总的来说,Spark-3.0.0-bin-hadoop2.7.tgz是一个全面的大数据处理解决方案,涵盖了从实时流处理到机器学习的各种需求,尤其适合那些已经部署了Hadoop 2.7环境的组织使用。无论是开发人员还是数据分析师,都能从中...