Hadoop映射/减少作业分布
我有4个节点,我正在运行一个mapreduce示例项目,以查看作业是否在所有4个节点之间分配。我多次运行该项目,并注意到映射器任务在所有4个节点之间被拆分,而reducer任务仅由一个节点完成。这就是假设的情况,或者假设reducer任务也在所有4个节点之间拆分Hadoop映射/减少作业分布,hadoop,mapreduce,Hadoop,Mapreduce,我有4个节点,我正在运行一个mapreduce示例项目,以查看作业是否在所有4个节点之间分配。我多次运行该项目,并注意到映射器任务在所有4个节点之间被拆分,而reducer任务仅由一个节点完成。这就是假设的情况,或者假设reducer任务也在所有4个节点之间拆分 谢谢地图绘制者的分布取决于地图绘制者操作的数据块。默认情况下,框架尝试将任务分配给存储了数据块的节点。这将阻止数据的网络传输 对于减速机,这同样取决于您的工作所需的减速机数量。如果作业仅使用一个减速器,则可以将其分配给节点上的任何pf
谢谢地图绘制者的分布取决于地图绘制者操作的数据块。默认情况下,框架尝试将任务分配给存储了数据块的节点。这将阻止数据的网络传输 对于减速机,这同样取决于您的工作所需的减速机数量。如果作业仅使用一个减速器,则可以将其分配给节点上的任何pf
影响这一点的还有投机性执行。如果启用此选项,则会导致在不同节点上启动多个map task/reduce task实例,并且基于完成百分比的作业跟踪器将决定哪个实例将通过,其他实例将被终止。假设您的文件为224 MB。当您根据默认的64 MB块大小将该文件添加到HDFS中时,文件被分成4个块[blk1=64M,blk2=64M,blk3=64M,blk4=32M]。让我们假设节点1上的blk1表示为blk1:node1,blk2:node2,blk3:node3,blk4。现在,当您运行MR时,Map需要访问输入文件。因此MR FWK创建了4个映射器,并在每个节点上执行。现在是减速器,正如Venkat所说,这取决于为您的工作配置的减速器数量。可以使用Hadoop org.apache.Hadoop.mapreduce.Job setNumReduceTasks(int tasks)API配置还原程序。这里可以找到与您刚才提出的问题非常类似的问题