Region servers need not be on the same host as Master host. However, you may want to co-locate Region Servers and Data Nodes.
This way we ensure locality - the concurrent processing and storing of data on all the individual nodes in an HDFS cluster, with no movement of gigantic loads of big data from storage locations to processing locations.
Also, It is recommended to run HBase master along with Name node
Thanks. So the take away from slideshare is:
use 3~5 dedicated hosts for master and 5~7 dedicated hosts for zoo-keepers. Region server co-locate with data nodes.