减少/增加regionserver节点

hbase减少regionserver节点

可以在指定节点的hbase目录下执行以下命令来停止集群中一个regionserver

1
./bin/hbase-daemon.sh stop regionserver

regionserver会将它上面所有的region关闭,然后再把自己的进程停止。regionserver在zookeeper中对应的临时节点将会过期,master会注意到regionserver停止服务并将其按崩溃服务器处理:master会将服务器上的region重新分配到其他机器上。这方法的坏处是,region会下线一段时间,时间长度由zookeeper超时时间决定,这样在该进程关闭的过程中,部署在该区域服务器上的所有region都将脱机一段时间

hbase0.90.2引入了一种可以让regionserver逐渐减少其负载并停止服务的办法

1、

1
[hadoop@hostname /home/q/hbase/hbase-0.98.1-cdh5.1.0]$ ./bin/graceful_stop.sh hostname

2、关闭完成后,打开负载均衡
由于会关闭hbase的balancer,因此需要在其他regionserver节点上
打开hbase shell,检查hbase状态
同时重新设置:

1
2
hbase(main):005:0> balance_switch true
false

3、在regionservers配置文件中去掉关闭的服务器

hbase增加regionserver节点

1> 执行以下命令启动regionserver

1
hbase-daemon.sh start regionserver

2> 在新启动的节点上
打开hbase shell,如下设置:

1
balance_switch true