hadoop:定义map/reduce任务属性

n53p2ov0  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(455)

我试图找到一个连贯的解释如何设置以下属性:

mapred.map.tasks
mapred.reduce.tasks
mapred.tasktracker.map.tasks.maximum
mapred.tasktracker.reduce.tasks.maximum
mapred.reduce.slowstart.completed.maps

作为一个简洁的用例,我有4个节点,每个节点有12个核,每个核有2个超线程(所以cpuinfo显示24个),64gb内存。我将第一个节点用于name node/job tracker和data node/task tracker。我不会并行执行任务。对于低内存设置,作业在堆空间上失败,因此我的mapred.child.java.opts设置现在是-xmx3g-xx:+usepallelgc。使用hadoop 1.2.1

hfsqlsce

hfsqlsce1#

mapred.map.tasks -此属性定义要为作业运行的Map任务数,通常不由作业配置。这通常由输入格式、要处理的文件数和这些文件的可拆分属性来定义。简而言之,您不需要设置这个属性(我使用hadoop已经4年了)。 mapred.reduce.tasks -此属性控制为给定作业运行的缩减器的数量。这由程序员在作业配置阶段进行配置—请参阅jobconf.setnumreducetasks或job.setnumreducetasks。 mapred.tasktracker.map.tasks.maximum -此属性在conf/mapred-site.xml文件中设置,表示给定任务跟踪器节点可以运行的最大并发Map槽数。如果需要更改此值,则需要重新启动tasktracker服务,因为它仅在启动时读取 mapred.tasktracker.reduce.tasks.maximum -与上面的属性一样,这个属性定义了给定任务跟踪器可以运行的最大并发reducer任务数。 mapred.reduce.slowstart.completed.maps -这定义了在reducer任务阶段开始之前需要完成的map任务的比率。这个值由程序员在作业配置阶段设置(您需要手动设置这个属性,因为没有像前两个那样方便的方法)。值的范围介于0和1之间:0表示在任何Map完成之前启动缩减器任务(不建议),1表示在该作业的所有Map任务完成之前不启动任何缩减器任务。该值通常设置为0.8-0.99。

相关问题