了解地图的数量并减少Hadoop MapReduce中的任务



假设Hadoop系统中的节点可以使用8GB内存。

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

8-2 = 6GB

so,6144MB/200MB = 30.72

so,将启动30个总图和减少任务。

我是对的还是我错过了什么?

映射器和还原器的数量不取决于可用资源。您必须通过调用setNumReduceTasks()设置代码中的还原数。

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

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

本指南可以帮助您获取更多详细信息。

并非基于节点上可用的内存而确定并发任务的数量。这也取决于内核的数量。如果您的节点有8个vcores,并且您的每个任务都采用1个核心,那么一次只能运行8个任务。

最新更新