It seems that the final merge output of map tasks for a particular job does not select the output location in random fashion.
This results in a job with a lot of map tasks eventually running out of taskTrackers asking for more tasks because the disk with most of the map outputs eventually has less disk space than specified by mapred.local.dir.minspacestart.
Maybe the start of round-robin selection of multiple locations should be randomized.
In our case:
110,000 maps, each about 3GB final output, on a 1300 node cluster.
Out of 4 locations and after processing about 79,000 maps, the selection for final map outputs 'file.out' looked like: