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