map-reduce插槽定义

epfja78i  于 2021-05-30  发布在  Hadoop
关注(0)|答案(4)|浏览(462)

我在路上成为一个Cloudera Hadoop管理员。从一开始,我就听到很多关于在hadoop集群中计算每台机器的插槽的信息,比如定义map插槽的数量和减少插槽。
我在互联网上搜索了一个日志时间,以获取Map缩减槽的noob定义,但没有找到任何。
我真的很生气通过pdf的解释Map减少配置。
请解释一下,在集群机器的计算槽中,它到底意味着什么。

o0lyfsai

o0lyfsai1#

尽管有点晚,我还是会回答的。
计算槽。你能想到在hadoop中需要一些资源的各种计算吗,比如内存/cpu/磁盘大小。
资源=所需的内存或cpu核心或磁盘大小
分配资源以启动容器,分配资源以执行Map或reduce任务等。
这完全是关于你将如何管理你手中的资源。那会是什么?ram、内核、磁盘大小。
目标是确保您的处理不受任何一个集群资源的约束。您希望处理过程尽可能动态。
例如,hadoopyarn允许您配置启动yarn容器所需的最小ram、启动map/reduce任务所需的最小ram、jvm堆大小(用于map和reduce任务)以及每个任务将获得的虚拟内存量。
与hadoopmr1不同的是,在开始执行map-reduce任务之前,不需要预先配置(例如ram大小)。从某种意义上说,您希望您的资源分配尽可能具有弹性,即动态增加map或reduce任务的ram/cpu内核。

s4n0splo

s4n0splo2#

通常它取决于cpu和内存
在outcluster中,我们为一台32核64g内存的机器设置了20个map插槽和15个reduce插槽
1.大约一个插槽需要一个cpu核
2.Map槽的数量应略多于减少

vxbzzdmp

vxbzzdmp3#

在map reduce v.1中,mapreduce.tasktracker.map.tasks.maximum和mapreduce.tasktracker.reduce.tasks.maximum用于配置Map槽的数量,并相应地减少mapred-site.xml中的槽。
从map reduce v.2(yarn)开始,containers是一个更通用的术语,用于代替slot,containers表示节点下可以并行运行的最大任务数,而不管是map task、reduce task还是application master task(in yarn)。

ldxq2e6h

ldxq2e6h4#

在mrv1中,每台机器都有固定数量的专用于maps和reduce的插槽。一般情况下,每台机器的配置比例为4:1maps:reducer on 一台机器。
从逻辑上讲,一种方法是读取大量数据(Map)并将其压缩成一个小集合(reduce)。
在mrv2中,出现了容器的概念,任何容器都可以运行map/reducer/shell脚本。

相关问题