hbase 节点添加删除


线上HBase集群操作系统需要升级,不能停止服务,且无其他多余机器可用,便采用
“从集群移除节点->升级节点机器->节点加入集群”方法来进行。
集群上既部署有Hadoop,又部署有HBase,因为HBase存储是基于Hadoop HDFS的,所以先要移除HBase节点,之后再移除Hadoop节点。添加则反之.
.卸载HBase节点
1.在0.90.2之前,我们只能通过在要卸载的节点上执行
$ ./bin/hbase-daemon.sh stop regionserver
来实现。这条语句执行后,该RegionServer首先关闭其负载的所有Region而后关闭自己。在关闭时,RegionServer在ZooKeeper中的“Ephemeral Node”会失效。此时,Master检测到RegionServer挂掉并把它作为一个宕机节点,并将该RegionServer上的Region重新分配到其他RegionServer.
注意: 使用此方法前,一定要关闭HBase Load Balancer。关闭方法
hbase(main):001:0> balance switch false true 0 row(s) in 0.3590 seconds总结: 这种方法很大的一个缺点是该节点上的Region会离线很长时间。因为假如该RegionServer上有大量Region的话,因为Region的关闭是顺序执行的,第一个关闭的Region得等到和最后一个Region关闭并Assigned后一起上线。这是一个相当漫长的时间。以我这次的实验为例,现在一台RecionServer平均有2000个Region,每个Region Assigned需要4s,也就是说光Assigned就至少需要2个小时.
2.自0.90.2之后,HBase添加了一个新的方法,即“graceful stop”,只需要在HBaseMaster节点执行:
./bin/graceful stop.sh hostname该命令会自动关闭Load Balancer,然后Assigned Region,之后会将该节点关闭。除此之外,你还可以查看remove的过程,已经assigned了多少个Region,还剩多少个Region,每个Region 的Assigned耗时补充qraceful stop的一些其他命令参数
$./bin/graceful stop.sh Usage: graceful stop.sh [--config &conf-dir>]--restart] --reload] --thrift] [--rest] &hostname> thrift lf we should stop/startthrift before/after the hbase stop/start rest lf we should stop/start restbefore/after the hbase stop/start restart lf we should restart after graceful stopreload Move offloaded regions back on to the stopped server debug Moveoffloaded regions back on to the stopped server hostname Hostname ofserver we are to stop
2最终都需要我们手动oad balancer
hbase(main):001:0> balance switch true false 0 row(s) in 0.3590 seconds注:强烈建议使用“graceful stop”来移除节点。
至此,HBase节点已经卸载完成,将卸载Hadoop节点
四、重新假如HBase RegionServer节点
只需要重启regionserver进程即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值