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是存活的,並且可以互相通訊。