我正在使用 Intel(R) Core(TM)2 Duo 处理器。我已经在伪分布式模式下安装了 hadoop。我编写了一个需要 50 个映射器节点的程序。是否可以在伪分布式模式下拥有 50 个映射器节点,或者我将被限制为 4 个节点(2 * 核心数)。我尝试将“mapred.tasktracker.map.tasks.maximum”设置为 50,但并发性没有变化。
问问题
533 次
1 回答
0
map 和 reduce 任务的最大数量取决于集群中任务跟踪器的数量以及使用属性mapreduce.tasktracker.map.tasks.maximum
和定义的每个节点的最大 map/reduce 任务数量mapreduce.tasktracker.reduce.tasks.maximum
。
我假设您的 map reduce 作业在默认块大小配置中需要 50 个 map 任务。作业所需的映射任务数量取决于已处理数据的 InputSplit 数量。当然,您不应该依赖于所需地图任务的数量或无论如何在您的程序中定义此限制。这会影响地图缩减作业的缩放。
一种选择是将映射器任务的最大数量设置为 50。可用映射器任务的数量应该在作业跟踪器 Web ui 的集群摘要部分中可见。但是,由于您的处理器只有两个内核,您应该重新考虑,同时启动 50 个映射器是否会对您的 map reduce 作业的性能产生任何积极影响。
于 2013-02-05T20:11:42.927 回答