I looked at the patch. Overall, looking good.
Sharad and I feel that the method JobTrackerStatistics.taskTrackerHealthCheckFailed() is not required. I think it is assumed that the tasktracker stat will be created and available. Further, it seems like the class JobTrackerStatistics manages the TasktrackerStatistics instances and nothing more. So, the method seems out of place. Hence, wherever we need to update the health check failure count, we could simply call JobTrackerStatistics.getTaskTrackerStat().incrHealthCheckFailed(). Sreekanth, any reason you thought the TaskTrackerStat for a TT will not be available and hence were implicitly managing the creation of it ?
One more minor nit is we can rename the label "Blacklisted due to health Failures" to "Failed Health Checks" just to reduce the verbosity.
Other than this +1