If a node fails, we can simply run that mapper and/or reducer task again, since the task itself is idempotent (we can run it again without changes to result).
If we lose a node performing mapping, we take the data (that was previously replicated) elsewhere, we can assign the task to another node. If we lose a reducer node, we can send the mapper output file again to another node to perform the task again.
The distributed file system is key so that we can operate when there are failures.
If a node fails, we can simply run that mapper and/or reducer task again, since the task itself is idempotent (we can run it again without changes to result).
If we lose a node performing mapping, we take the data (that was previously replicated) elsewhere, we can assign the task to another node. If we lose a reducer node, we can send the mapper output file again to another node to perform the task again.
The distributed file system is key so that we can operate when there are failures.