在生产上遇到有比较大的Region都是运行在同一个RegionSever上,有些RegionSever上的Requests比较少,明显的出现读请求不均衡;这个时候我们可以手动的移动Region到负载比较低的RegionSever上面
eg:
在hbase shell 执行如下:move ‘5f1e66c635f8a0ed278f609fa16d5a6e’,’slave2,16020,1507799449330’
通过查看查看日志发现迁移的过程如下:
最开始school表的region在RegionServer slave1上面,迁移到RegionServer slave2中;过程如下
1.RegionSever slave1中的state=open然后状态变为PENDING_CLOSE,此时ZK中把此region标记为
OFFLINED (Setting node as OFFLINED in ZooKeeper for region)
2.RegionSever slave1中的state此时的状态标记为OFFLINE
3.RegionSever slave2此时的状态为state= PENDING_OPEN,然后状态边为OPENING
4.通知master.RegionStates此时RegionSever slave1中的region已经Offlined
017-10-13 11:25:24,257 INFO [RpcServer.FifoWFPBQ.default.handler=29,queue=2,port=16000] master.HMaster: Client=root/null move hri=school,,1507859275853.5f1e66c635f8a0ed278f609fa16d5a6e., src=slave1,16020,1507799439679, dest=slave2,16020,1507799449330, running balancer
2017-10-13 11:25:24,262 INFO [RpcServer.FifoWFPBQ.default.handler=29,queue=2,port=16000] master.RegionStates: Transition {**5f1e66c635f8a0ed278f609fa16d5a6e** state=**OPEN**, ts=1507864380924, server=slave1,16020,1507799439679} to {5f1e66c635f8a0ed278f609fa16d5a6e state=PENDING_CLOSE, ts=1507865124262, server=slave1,16020,1507799439679}
2017-10-13 11:25:24,295 INFO [AM.ZK.Worker-pool2-t61] master.RegionStates: Transition {5f1e66c635f8a0ed278f609fa16d5a6e state=**PENDING_CLOSE**, ts=1507865124262, server=slave1,16020,1507799439679} to {5f1e66c635f8a0ed278f609fa16d5a6e state=CLOSED, ts=1507865124295, server=slave1,16020,1507799439679}
2017-10-13 11:25:24,295 INFO [AM.ZK.Worker-pool2-t61] master.AssignmentManager: **Setting node as OFFLINED in ZooKeeper for region** {ENCODED => 5f1e66c635f8a0ed278f609fa16d5a6e, NAME => 'school,,1507859275853.5f1e66c635f8a0ed278f609fa16d5a6e.', STARTKEY => '', ENDKEY => ''}
2017-10-13 11:25:24,295 INFO [AM.ZK.Worker-pool2-t61] master.RegionStates: Transition {5f1e66c635f8a0ed278f609fa16d5a6e state=CLOSED, ts=1507865124295, server=slave1,16020,1507799439679} to {5f1e66c635f8a0ed278f609fa16d5a6e state=OFFLINE, ts=1507865124295, server=slave1,16020,1507799439679}
2017-10-13 11:25:24,298 INFO [AM.ZK.Worker-pool2-t61] master.AssignmentManager: Assigning school,,1507859275853.5f1e66c635f8a0ed278f609fa16d5a6e. to slave2,16020,1507799449330
2017-10-13 11:25:24,298 INFO [AM.ZK.Worker-pool2-t61] master.RegionStates: Transition {5f1e66c635f8a0ed278f609fa16d5a6e state=OFFLINE, ts=1507865124295, server=slave1,16020,1507799439679} to {5f1e66c635f8a0ed278f609fa16d5a6e state=PENDING_OPEN, ts=1507865124298, server=slave2,16020,1507799449330}
2017-10-13 11:25:24,310 INFO [AM.ZK.Worker-pool2-t63] master.RegionStates: Transition {5f1e66c635f8a0ed278f609fa16d5a6e state=PENDING_OPEN, ts=1507865124298, server=slave2,16020,1507799449330} to {5f1e66c635f8a0ed278f609fa16d5a6e state=OPENING, ts=1507865124310, server=slave2,16020,1507799449330}
2017-10-13 11:25:24,384 INFO [AM.ZK.Worker-pool2-t64] master.RegionStates: Transition {5f1e66c635f8a0ed278f609fa16d5a6e state=OPENING, ts=1507865124310, server=slave2,16020,1507799449330} to {5f1e66c635f8a0ed278f609fa16d5a6e state=OPEN, ts=1507865124384, server=slave2,16020,1507799449330}
2017-10-13 11:25:24,387 INFO [AM.ZK.Worker-pool2-t66] master.RegionStates: Offlined 5f1e66c635f8a0ed278f609fa16d5a6e from slave1,16020,1507799439679