HBASE关闭集群流程浅析

本文针对HBASE版本0.90 cdh3,探讨了在执行$HBASE_HOME/bin/stop-hbase.sh后,为何有时会出现长时间无法关闭集群的问题。作者分析了HMaster的shutdown()过程,指出RegionServerTracker在Zookeeper的监控角色,以及RegionServer关闭受阻的可能原因,如Zookeeper中RS节点未删除、无法发送心跳等。解决方法是检查Zookeeper的/hbase/rs目录和对应RegionServer日志。
摘要由CSDN通过智能技术生成

作者:破碎虚空圳

【引言】

          我们偶尔进行关闭HBASE集群的时候,在$HBASE_HOME/bin/stop-hbase.sh执行后,会打印无数行......................................,有时候会执行2个小时,也无法关闭。执行jps后发现master和少部分regionserver依然在运行,什么原因会导致一个无限的等待呢?(注意,本文所指HBASE版本0.90 cdh3,不适用于其他版本)。下面让我们进行一个HBASE关闭集群的浅析,来揭开这个谜底。

【正文】

         在HMaster.java的开头注释中,清晰的说明了关闭整个集群可以通过调用shutdown(),先通知所有的regionserver去关闭,然后等待所有的regionserver返回他们关闭的消息,最后Master关闭自身。    

* <p>The Master can be asked shutdown the cluster. See {@link #shutdown()}.  In
 * this case it will tell all regionservers to go down and then wait on them
 * all reporting in that they are down.  This master will then shut itself down.
下面从shutdown()开始分析:
  @Override
  public void shutdown() {
    this.serverMan
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值