当 Yarn 上 运行 时,container/resource 分配在 Hadoop 和 Spark 中意味着什么?
What does container/resource allocation mean in Hadoop and in Spark when running on Yarn?
当 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 模式下)等应用程序的中央资源分配器。因此,当我们触发作业时,它会请求资源执行所需资源的管理器。资源管理器将根据可用性分配资源。资源将以容器的形式分配。 Container只是内存的分配和cpu。一项工作可能需要多个容器。容器将根据可用性在集群中分配。任务将在容器内执行。
例如,当我们提交一个mapreduce 作业时,会启动一个MR application master,它会与资源管理器协商额外的资源。 Map 和 reduce 任务将在分配的资源中生成。
类似地,当我们提交一个spark作业(YARN模式)时,一个spark application master将被启动,它会与资源管理器协商额外的资源。 RDD 将在分配的资源中生成。
当 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 模式下)等应用程序的中央资源分配器。因此,当我们触发作业时,它会请求资源执行所需资源的管理器。资源管理器将根据可用性分配资源。资源将以容器的形式分配。 Container只是内存的分配和cpu。一项工作可能需要多个容器。容器将根据可用性在集群中分配。任务将在容器内执行。
例如,当我们提交一个mapreduce 作业时,会启动一个MR application master,它会与资源管理器协商额外的资源。 Map 和 reduce 任务将在分配的资源中生成。
类似地,当我们提交一个spark作业(YARN模式)时,一个spark application master将被启动,它会与资源管理器协商额外的资源。 RDD 将在分配的资源中生成。