首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >了解Hadoop MapReduce中映射和缩减任务的数量

了解Hadoop MapReduce中映射和缩减任务的数量
EN

Stack Overflow用户
提问于 2017-04-26 18:51:02
回答 2查看 659关注 0票数 1

假设hadoop系统中有一个节点有8 8GB内存可用。

如果任务跟踪器和数据节点消耗2 2GB,并且每个任务所需的内存是200MB,那么可以启动多少个map和reduce?

8-2 =6 6GB

因此,6144MB/200MB = 30.72

因此,总共将启动30个map和reduce任务。

我是对的还是我漏掉了什么?

EN

回答 2

Stack Overflow用户

发布于 2017-04-27 15:20:04

映射器和减法器的数量不是由可用的资源决定的。您必须通过调用setNumReduceTasks()在代码中设置reducers的数量。

对于映射器的数量,它更复杂,因为它们是由Hadoop设置的。默认情况下,每个输入拆分大约有一个map任务。你可以通过改变默认的块大小,记录读取器,输入文件的数量来调整它。

您还应该在hadoop配置文件中设置并发运行的map任务和reduce任务的最大数量,以及分配给每个任务的内存。最后两个配置是基于可用资源的配置。请记住,map和reduce任务在您的CPU上运行,因此您实际上受到可用内核数量的限制(一个内核不能同时运行两个任务)。

This guide可能会为您提供更多详细信息。

票数 1
EN

Stack Overflow用户

发布于 2018-11-06 01:54:02

并发任务的数量不是仅仅基于节点上的可用内存来决定的。这也取决于内核的数量。如果你的节点有8个vcore,而你的每个任务占用1个核心,那么一次只能运行8个任务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43632080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档