Hbase节点的管理|服役和退役节点
Base节点的管理
1、服役(commissioning)
当启动regionserver时,regionserver会向Hmaster注册并开始接收本地数据,开始的时候,新加入的节点不会有任何数据,平衡器开启的情况下,将会有新的region移动到开启的RegionServer上。如果启动和停止进程是使用ssh和HBase脚本,那么会将新添加的节点的主机名加入到conf/regionservers文件中。
2、退役(decommissioning)
顾名思义,就是从当前HBase集群节点中删除某个RegionServer,这个过程分为如下几步:
- Step1、使用以下命令停止负载平衡器
hbase> balance_switch false
- Step2、在退役节点上停止RegionServer
hbase> hbase-daemon.sh stop regionserver
- Step3、RegionServer一旦停止,会关闭维护的所有region
- Step4、Zookeeper上的该RegionServer节点消失
- Step5、Master节点检测到该RegionServer下线
- Step6、RegionServer的region服务得到重新分配
该关闭方法比较传统,需要花费一定的时间,而且会造成部分region短暂的不可用。
我们有一种更骚气的关闭方法:
第一种方法是采用暂时停止HRegionServer服务的方式,这种方法可能造成Hbase短暂失效,相比第一种方法,第二种是采用Region从HRegionServer上面进行卸载(即:他们不对外提供服务了)之后HMaster会启动将已经卸载的Region分配到其他的HRegionServer上面。这样就有效的保障了Hbase的可靠性。
- Step1、RegionServer先卸载所管理的region
$ bin/graceful_stop.sh <RegionServer-hostname>
例如:
$ bin/graceful_stop.sh hadoop-senior02.jingtong.com
- Step2、自动平衡数据
- Step3、和之前的2~6步是一样的