我使用的是英特尔(R)酷睿(TM)2双核处理器。我已经在伪分布式模式下安装了hadoop。我已经写了一个需要50个mapper节点的程序。是否可以在伪分布式模式下拥有50个映射器节点,或者我将被限制为4个节点(2*核心数量)。我尝试将"mapred.tasktracker.map.tasks.maximum“设置为50,但并发性没有变化。
发布于 2013-02-06 04:11:43
map和reduce任务的最大数量取决于集群中任务跟踪器的数量,以及使用属性mapreduce.tasktracker.map.tasks.maximum和mapreduce.tasktracker.reduce.tasks.maximum定义的每个节点的map/reduce任务的最大数量。
我假设您的map reduce作业在默认块大小配置中需要50个map任务。作业所需的映射任务数取决于已处理数据的InputSplits数。当然,您不应该依赖于所需的map任务的数量,或者在您的程序中以任何方式定义这个限制。这将影响map reduce作业的缩放。
一种选择是将映射器任务的最大数量设置为50。作业跟踪器web用户界面的群集摘要部分中应显示可用映射器任务的数量。但是,由于您的处理器只有两个核心,您应该重新考虑,并发启动50个mapper是否会对map reduce作业的性能产生任何积极影响。
https://stackoverflow.com/questions/14710784
复制相似问题