5

I am on my way for becoming a cloudera Hadoop administrator. Since my start, I am hearing a lot about computing slots per machine in a Hadoop Cluster like defining number of Map Slots and Reduce slots.

I have searched internet for a log time for getting a Noob definition for a Map Reduce Slot but didn't find any.

I am really pissed off by going through PDF's explaining the configuration of Map Reduce.

Please explain what exactly it means when it comes to a computing slot in a Machine of a cluster.

4

4 回答 4

4

在 map-reduce v.1 中,mapreduce.tasktracker.map.tasks.maximum 和 mapreduce.tasktracker.reduce.tasks.maximum 用于在 mapred-site.xml 中配置 map slot 的数量和 reduce slot。

从 map-reduce v.2 (YARN) 开始,containers 是一个更通用的术语,而不是 slot,containers 表示节点下可以并行运行的最大任务数,无论是 Map 任务、Reduce 任务还是应用程序主任务(在纱线中)。

于 2014-09-27T13:26:24.610 回答
0

一般取决于CPU和内存
在out cluster中,我们为一台32Core,64G内存的机器设置了20个map slot和15个reduce slot 1.
大约一个slot需要一个cpu core
2.map slot的数量应该比reduce多一点

于 2014-09-28T07:47:04.263 回答
0

在 MRV1 中,每台机器都有固定数量的 Slots 专用于 map 和 reduce。一般来说,每台机器都配置了 4:1 比例的 maps:reducer 在一台机器上。

  • 从逻辑上讲,人们会读取大量数据(地图)并将它们处理成小集合(减少)。

在 MRV2 中引入了容器的概念,任何容器都可以运行 map/reducer/shell 脚本。

于 2015-04-27T20:23:48.540 回答
0

虽然有点晚了,我还是会回答的。

计算插槽。您能想到 Hadoop 中需要一些资源(即内存/CPU/磁盘大小)的所有各种计算吗?

资源 = 所需的内存或 CPU 核心或磁盘大小

分配资源以启动 Container,分配资源以执行 map 或 reduce 任务等。

这完全取决于您希望如何管理手头的资源。现在那会是什么?RAM,内核,磁盘大小。

目标是确保您的处理不受任何这些集群资源的限制。您希望您的处理尽可能动态。

例如,Hadoop YARN 允许您配置启动 YARN 容器所需的最小 RAM、启动 MAP/REDUCE 任务所需的最小 RAM、JVM 堆大小(用于 Map 和 Reduce 任务)以及每个任务将获得的虚拟内存量.

与 Hadoop MR1 不同,您甚至在开始执行 Map-Reduce 任务之前都无需预先配置(例如 RAM 大小)。从某种意义上说,您希望资源分配尽可能具有弹性,即为 MAP 或 REDUCE 任务动态增加 RAM/CPU 内核。

于 2016-10-10T15:53:17.347 回答