Advices Debugging tips Use 'provided' scope for deps Write unit tests First test on locally Finally test on cluster When throw an exception then task will be failed (if it fails max attempt times) Dont use logging for mapreduce that will be to handle huge amount of data Logging only critical data in catch block Developing strategy and testing strategies Testing with LocalJobRunner [minus] Doest support distibuted cache [minus] ony one reducer use MRUnit framework for testing Develop in locally (one local JVM), with small data Test on PSEUDO-distributed mode ( several demon processes), with small data Test on FULLY-distributed mode, with small data Test on FULLY-distributed mode, with big amount data