1、服役(commissioning)
当启动regionserver时,regionserver会向HMaster注册并开始接收本地数据,开始的时候,新加入的节点不会有任何数据,平衡器开启的情况下,将会有新的region移动到开启的RegionServer上。如果启动和停止进程是使用ssh和HBase脚本,那么会将新添加的节点的主机名加入到conf/regionservers文件中。
2、退役(decommissioning)
顾名思义,就是从当前HBase集群中删除某个RegionServer,这个过程分为如下几个过程:
1) 停止负载平衡器
hbase> balance_switch false
2) 在退役节点上停止RegionServer
hbase> hbase-daemon.sh stop regionserver
3) RegionServer一旦停止,会关闭维护的所有region
4) Zookeeper上的该RegionServer节点消失
5) Master节点检测到该RegionServer下线
6) RegionServer的region服务得到重新分配
该关闭方法比较传统,需要花费一定的时间,而且会造成部分region短暂的不可用。
另一种方案:
1) RegionServer先卸载所管理的region
$ bin/graceful_stop.sh <RegionServer-hostname>
2) 自动平衡数据
3) 和之前的2~6步是一样的
2.11、版本的确界
1) 版本的下界
默认的版本下界是0,即禁用。row版本使用的最小数目是与生存时间(TTL Time To Live)相结合的,并且我们根据实际需求可以有0或更多的版本,使用0,即只有1个版本的值写入cell。
2) 版本的上界
之前默认的版本上界是3,也就是一个row保留3个副本(基于时间戳的插入)。该值不要设计的过大,一般的业务不会超过100。如果cell中存储的数据版本号超过了3个,再次插入数据时,最新的值会将最老的值覆盖。(现版本已默认为1)