1

I have a Hbase cluster running with 2 region servers, each hosting around 100 regions. I can see that the ROOT and META tables are automatically assigned to separate region servers. My system is read heavy (around 600 GETs per second) and I can see a high data flow (around 20 Mbps) between 2 region servers (from the server hosting META table to the server hosting ROOT table) and this may be degrading the average read time of the system.

My question is - Can I enforce Hbase to keep both catalog tables in one region server? This will help me avoid one extra network hop during GET. Note that, I am accessing Hbase through a REST server running on Hbase master machine.

Thanks.

tilmik
  • 135
  • 1
  • 8
  • I don't know of a permanent way of "pinning" the ROOT and META to hosts. However, to do an experiment, you can move ROOT and META by temporary shutting down (for a minute or two) the regionserver that they are hosted on. After the regionserver is back, check that ROOT and META migrated, and see if that reduces the network flow between the regionservers. If not, then it's something else: e.g. hadoop datanodes are usually sharing hosts with hbase. Datanodes replicate all data across to the other host(s). Regionservers also read and write remotely to datanodes on other hosts. – Aleksandr Levchuk Feb 25 '14 at 04:15

0 Answers0