I recently enabled reverse DNS on my test cluster. Now when I run a MR job, the HBase input split locations are all adding a period to the end. For example:
/default-rack/foo-1. /default-rack/foo-2. Yet the machine locations are still correct: /default-rack/foo-1 /default-rack/foo-2 Since those strings don't match, it isn't assigning the tasks locally. It actually thinks 100% of the map tasks are rack-local and 0% data-local (although in reality, some still wind up being data-local due to sheer luck). What is the issue here? Note that I don't have this problem with the MR tasks using SequenceFile as input, only with HBase's TableMapper.