Why are reduce tasks always pending?

The reduce tasks of a MapReduce job will not be dispatched to run if the MapReduce application is not pre-started and the runReduceTaskOnMapSlot setting is disabled.

To avoid this situation, do one of the following:
  • Allow a MapReduce application to be pre-started. This is the default configuration.
  • Allow reduce tasks to run on a map task's slot. This is a common configuration for optimized MapReduce performance.