gpt4 book ai didi

hadoop - 在 Yarn 上运行时,容器/资源分配在 Hadoop 和 Spark 中意味着什么?

转载 作者:可可西里 更新时间:2023-11-01 14:44:28 26 4
gpt4 key购买 nike

当 spark 在内存中运行时,在 yarn 上运行时 Spark 中的资源分配意味着什么?它与 hadoop 的容器分配有何不同?只是想知道 Hadoop 的数据和计算在磁盘上,而 Spark 在内存中。

最佳答案

Hadoop 是一个能够处理大数据的框架。它有两层。一个是称为 HDFS 的分布式文件系统层,第二个是分布式处理层。在 hadoop 2.x 中,处理层以通用方式构建,因此它也可以用于非 mapreduce 应用程序。对于任何进程,我们都需要系统资源,如内存、网络、磁盘和 cpu。术语容器出现在 hadoop 2.x 中。在 hadoop 1.x 中,对应的术语是槽。容器是内存和 CPU 的分配或共享。 YARN 是一个通用的资源管理框架,可以通过适当的分配和共享来高效利用集群节点中的资源。

In-memory process是指将数据完全加载到内存中进行处理,而不会将中间数据写入磁盘。这个操作会更快,因为计算是在内存中进行的,没有太多的磁盘 I/O 操作。但这需要更多的内存,因为整个数据将被加载到内存中。

批处理是指将数据分批获取和处理,中间结果将存储在磁盘中,并再次提供给下一个流程。这也需要内存和 cpu 进行处理,但与完全内存处理系统相比会更少。

YARN 的资源管理器充当 mapreduce、impala(使用 llama)、spark(在 yarn 模式下)等应用程序的中央资源分配器。因此,当我们触发作业时,它会向资源管理器请求所需的资源执行。资源管理器将根据可用性分配资源。资源将以容器的形式分配。容器只是内存和cpu的分配。一项工作可能需要多个容器。容器将根据可用性在集群中分配。任务将在容器内执行。

例如,当我们提交一个mapreduce作业时,一个MR application master会被启动,它会与资源管理器协商额外的资源。 Map 和 reduce 任务将在分配的资源中产生。

类似地,当我们提交一个 spark 作业(YARN 模式)时,将启动一个 spark application master 并与资源管理器协商额外的资源。 RDD 将在分配的资源中生成。

关于hadoop - 在 Yarn 上运行时,容器/资源分配在 Hadoop 和 Spark 中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37011964/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com