转载自:http://hbase.iteye.com/blog/1392030
由于自动load balance的时候移动了region,会导致客户端因为连接不上原有的region而报错。业务方因此会不愿意接受。在我们的集群中,关闭了自动的load balance,而改在业务低谷手动做。好处就是尽量减少了客户端的报错。
办法
1. 通过监控观察到request较大的机器,做好低谷区迁移规划。
比如
这里面,我们发现dw-perf-10.alipay.net这台机器负载较重可以计划移动其中的某些region到其他空闲机器,这里举例
移动到 dw-perf-11,请记下dw-perf-11的startcode,1328178878605
点开dw-perf-10,会看到很多的region信息。选择你需要移动的region,比如
marketing,,1327901423638.96b1f2b1569aec38030d2c0c95eb9dc5.
这里记下最后面的regioncode, 96b1f2b1569aec38030d2c0c95eb9dc5
2. 执行命令
- echo "move '96b1f2b1569aec38030d2c0c95eb9dc5','dw-perf-11,60020,1328178878605'" | hbase shell
这样,就将dw-perf-10上的region 移动到了dw-perf-11上了。
3. 我们可以把这样的移动计划放在cronjob里面,到了业务低谷执行就好了。