ERROR [main] zookeeper.RecoverableZooKeeper: ZooKeeper create failed after 4 attempts
ERROR [main] master.HMasterCommandLine: Master exiting
java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster
more……
从问题看出你可能走入了一个误区——认为Hbase启动或安装出现问题。
从原理上讲,在集群中Zookeeper中会通过投票方式选举出一个Zookeeper为主,其余类似于主的热备,
而主Zookeeper会指定Hmaster,并由指定的Hmaster来进行Hbase的操作。
现在报错是ZooKeeper create failed after 4 attempts(Zookeeper尝试创建并失败4次导致最终无法创建)带来的后果就是你的Hmaster未选举出(并离线),使得你的Hbase无法管理。
大概原因可能有两种:
一是因为各机器间无法正常通信导致集群脑裂Zookeeper无法进行选举或是各主机之间权限不足导致声明Master的短命节点文件无法被创建(可能性较低)
二是也许干脆就是集群数量过小无法选举?
大概是这些可能,我也还在学习阶段无法给出太过明确的答案,不过建议你从集群互相的通讯(包括每个节点上的Zookeeper安装情况以及互信、网络情况来入手考虑一下?)
还有比较重要的一点是:请确保每台HBase机器上的zookeeper是存活的,并且可以互相通信。