hbase regionserver 下线,做数据迁移。 这个方法可以在线上平滑迁移。
hbase 版本: 1.2.4
####n首先 关闭 hbase 的 balance
1 | hbase(main)> balance_switch false |
将新的regionserver节点上线
1 | hbase-daemon.sh start regionserver |
之后就可以迁移数据了。
到新的region server上执行 下面命令。
使用hbase自带的rb脚本,在hbase bin目录下面
unload:转移rs上的region;load:将所有region转移到此rs1
hbase org.jruby.Main ${HBASE_HOME}/bin/region_mover.rb unload regionserver00.hostname.com
- 在需要迁移到的机器上执行, 如要将regionserver00.hostname.com上的数据迁移到regionserver03.hostname.com机器上, 那么就在regionserver03.hostname.com机器上执行命令,hostname写regionserver00.hostname.com
等待任务完成。
之后就可以把数据迁移走的节点下线了
1 | hbase-daemon.sh stop regionserver |
最后在开启hbase的balance
1 | hbase(main)> balance_switch true |
这样就完成了数据迁移。 之后需要的就是更新同步hbase 配置文件中的regionservers 文件。