Introduction to the HBase stochastic load balancer

Know the basics of HBase stochastic load balancer.

The stochastic load balancer is a best-effort load balancer and considers multiple costs to calculate the target cost of the balancer. Every cost function returns a number between 0 and 1, both inclusive, where 0 is the lowest cost best solution, and 1 is the highest possible cost solution. The computed costs are scaled by their respective multipliers.

Cost functions

The following are the costs considered by the stochastic load balancer.

  • Region skewness cost
  • Primary region skewness cost
  • Table skewness cost
  • Move cost
  • Locality cost
  • Read request cost
  • Write request cost

Each of these cost function is assigned a multiplier which decides the impact it makes on the overall cost calculation. The balancer collects information from the cluster, calculates the costs for each of these cost functions, and also calculates the overall target cost of the cluster.

The outcome of these calculations is a region assignment plan which is then used to do the region movement.