Hadoop YARN 集群/Spark 和 RAM 磁盘

Posted

技术标签:

【中文标题】Hadoop YARN 集群/Spark 和 RAM 磁盘【英文标题】:Hadoop YARN Cluster / Spark and RAM Disks 【发布时间】:2018-06-30 04:30:49 【问题描述】:

因为我的计算任务需要快速的磁盘 I/O,我有兴趣在运行 Spark 的 YARN 集群中的每个工作节点上安装大型 RAM 磁盘,因此想知道 YARN 集群管理器如何处理这样一个内存盘。

例如,如果我在每台 128GB RAM 机器上分配 32GB 到 RAM 磁盘,YARN 集群管理器是否知道如何分配 RAM 以避免在执行任务时过度分配内存(在这种情况下,YARN 的RAM 到被征用的任务,或者最多只有 96GB)?

如果是这样,是否有任何方法向 YARN 集群管理器指示存在 RAM 磁盘,因此 RAM 的特定分区对 YARN 是禁止的? Spark 也会知道这些限制吗?

【问题讨论】:

【参考方案1】:

在 Spark 配置中,您可以设置驱动程序和执行程序配置,例如内核和内存分配量。此外,当您使用 yarn 作为资源管理器时,它还支持一些额外的配置,您可以帮助您更好地管理集群资源。 "spark.driver.memoryOverhead" 或 "spark.yarn.am.memoryOverhead" 这是堆外空间的数量,默认值为

AM 内存 * 0.10,最小为 384

更多信息请点击link。

【讨论】:

但这不是 YARN 应用程序管理器的 AM 内存吗?我想确保 YARN 和 Spark 都知道它无法触及该内存分区,以免重置 RAM Disk 是的,这是一个纱线配置。但是重置 RAM 盘是什么意思? 如果我安装了 RAM Disk(占用 32GB),YARN 是否会将这 32GB 的 RAM 分配给 Spark 上下文,从而将 RAM Disk 推离 RAM?

以上是关于Hadoop YARN 集群/Spark 和 RAM 磁盘的主要内容,如果未能解决你的问题,请参考以下文章

Spark On Yarn部署

Hadoop与Spark的关系,Spark集群必须依赖Hadoop吗?

hadoop2.0中加入全新的集群资源管理器,下面哪个不是yarn中的组件

Spark On YARN 分布式集群安装

spark集群启动命令和Web端口查看

Spark 2.4 集群部署(on Yarn模式)