Home Forums MapReduce Mapreduce Race Condition — Big Job

This topic contains 3 replies, has 3 voices, and was last updated by  Upen K 7 months ago.

  • Creator
    Topic
  • #51197

    Upen K
    Participant

    We are running a hige M/R job using HDP2.06. Cluster size is about 100 nodes and the job is big enough to consume all the containers in the cluster. When the reduce phase begins, and the map hasn’t finished yet, there comes a situation where reducers are running and awaiting results from unfinished Mappers. But schedulers doesn’t pre empty reduce slots for mappers to finish. W/o the pending mappers NOT completing, they are now engaged into deadlock situation. Looks like a huge bug. Does any one have any solution to this problem.

    Thanks
    U

Viewing 3 replies - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.

  • Author
    Replies
  • #51201

    Upen K
    Participant

    mapreduce.job.reduce.slowstart.completedmaps=0.8 is a hack not a permanent solution. If the job is very big, even 0.8 may not server the purpose.

    reducing the no. of mappers by increasing the split size will lead to more spills on local disk.

    This is a basic M/R feature that if reducers are awaiting on Mappers to finish, schedulers should pre empt some of the reducers. we are running much bigger job in other cluster with cloudera CDH3U6 (very old) and its running fine.

    Collapse
    #51199

    Sheetal Dolas
    Participant

    set your slow start number to higher like
    mapreduce.job.reduce.slowstart.completedmaps=0.8;

    This way your reducers wont start until given % of mappers are finished.

    Additionally, you should avoid jobs that need very high number of mappers. Adjust your split sizes to do same work in less number of mappers

    Collapse
    #51198

    Kevin Risden
    Participant

    You need to increase mapreduce.job.reduce.slowstart.completedmaps so that the reducers don’t start until a higher percentage of the mappers complete.

    Collapse
Viewing 3 replies - 1 through 3 (of 3 total)