How to increase the mappers and reducers in hadoop according to number of instances used to increase the performance?

前端 未结 4 950
说谎
说谎 2020-12-18 17:11

If I increase the number of mappers and decrease the number of reducers, then is there any difference in the performance (increase/decrease) of any job while execution?

相关标签:
4条回答
  • 2020-12-18 17:47

    I have tried the suggestion from @Animesh Raj Jha by modifying mapred.max.split.size and got a noticeable performance increase.

    0 讨论(0)
  • 2020-12-18 17:53

    Changing number of mappers - is pure optimization which should not affect results. You should set number to fully utilize your cluster (if it is dedicated). Try number of mappers per node equal to number of cores. Look on CPU utilization, and increase the number until you get almost full CPU utilization or, you system start swapping. It might happens that you need less mappers then cores, if you have not enough memory.
    Number of reducers impacts results so , if you need specific number of reducer (like 1) - set it
    If you can handle results of any number of reducers - do the same optimization as with Mappers.
    Theoretically you can became IO bound during this tuning process - pay attention to this also when tuning number of tasks. You can recognieze it by low CPU utilization despite increase of mappers / reducers count.

    0 讨论(0)
  • 2020-12-18 17:57

    You can increase number of mappers based on the block size and split size. One of the easiest way is to decrease the split size as shown below:

    Configuration conf= new Cofiguration();
    //set the value that increases your number of splits.
    conf.set("mapred.max.split.size", "1020");
    Job job = new Job(conf, "My job name");
    
    0 讨论(0)
  • 2020-12-18 18:04

    i am using hadoop 2.2, and don't know how to set max input split size I would like to decrease this value, in order to create more mappers I tried updating yarn-site.xml, and but it does not work

    indeed, hadoop 2.2 /yarn does not take of none the following settings

    <property>
    <name>mapreduce.input.fileinputformat.split.minsize</name>
    <value>1</value>
    </property>
    <property>
    <name>mapreduce.input.fileinputformat.split.maxsiz e</name>
    <value>16777216</value>
    </property>
    
    <property>
    <name>mapred.min.split.size</name>
    <value>1</value>
    </property>
    <property>
    <name>mapred.max.split.size</name>
    <value>16777216</value>
    </property>
    

    best

    0 讨论(0)
提交回复
热议问题