1. 程式人生 > >HBase-啟動HBase後,HMaster自動消失

HBase-啟動HBase後,HMaster自動消失

報錯分析

執行啟動命令:start-hbase.sh 後,檢視節點的jps,確實能夠檢視到HMaster啟動,但是幾秒後再次檢視,HMaster已經消失。
在網上查找了很多方法,如:

  1. 檔案許可權問題(博主嘗試了Hadoop、HBase、JDK安裝目錄的許可權皆修改為Hadoop使用者)
  2. 域名解析(即節點之間不能ping通,但是博主的節點能夠互相ping通)
  3. hbase-site.xml,zookeeper超時設定(zookeeper.session.timeout)
  4. 重新格式化Hadoop(不得已而為之)

但是,以上4種方法博主都嘗試過,都沒有效果,依然幾秒後HMaster自動斷開。

經過查詢日誌:

2018-11-17 13:50:59,346 INFO  [main] zookeeper.ZooKeeper: Initiating client connection, connectStr    ing=master:2181, slave4:2181, slave5:2181, slave7:2181 sessionTimeout=1800000 watcher=org.apache.h    [email protected]
148 2018-11-17 13:50:59,379 WARN  [main] zookeeper.RecoverableZooKeeper: Unable to create ZooKeeper Co    nnection
149 java.net.UnknownHostException:  slave4: 域名解析暫時失敗
150     at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
151     at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
152     at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
153     at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
154     at java.net.InetAddress.getAllByName(InetAddress.java:1192)
155     at java.net.InetAddress.getAllByName(InetAddress.java:1126)
156     at org.apache.zookeeper.client.StaticHostProvider.<init>(StaticHostProvider.java:61)
157     at org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:445)
158     at org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:380)
159     at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.checkZk(RecoverableZooKeeper.java:14    1)
......

從日誌分析,域名解析失敗,想了一下,突然想到配置Hadoop的配置檔案:當時在 value多打了一個空格,導致jps 沒有顯示完全,想到把空格刪除後能否解決問題。
這時,想到在配置 hbase-site.xml 時,習慣性的將值之間打一個空格,如下:

    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>master, slave4, slave5, slave6, slave7</value>
    </property>

每個 逗號 後面博主都加了一個空格,然後嘗試把空格刪除,將檔案傳到各個節點。再次啟動 HBase,HMaster已經不再自動消失,問題解決。

所以,問題就是配置檔案多打了空格,把空格刪除即可。如果有相同的問題,可以檢查一下配置檔案。

完!