記一次 HBase Master is initializing 問題處理


問題

hbase shell中建立建表出錯

分析

org.apache.hadoop.hbase.PleaseHoldException: Master is initializing代表Master正在初始化中,出現這種錯誤的原因有很多,查看hbase web界面,發現如下提示:

看下Master的日志,發現一條WARN日志:

下午1點59:29.953分	WARN	HMaster	
hbase:namespace,,1602737534746.41cb240b37c7ba2e67a1bff035799b61. is NOT online; state={41cb240b37c7ba2e67a1bff035799b61 state=OPEN, ts=1605238978817, server=bg11194.hadoop.com,16020,1602750152053}; ServerCrashProcedures=false. Master startup cannot progress, in holding-pattern until region onlined.

元數據namespace,,1602737534746.41cb240b37c7ba2e67a1bff035799b61未分配到RegionServer上

解決

嘗試1:重啟hbase,發現無效

嘗試2:手動分配,執行 assign 'namespace,,1602737534746.41cb240b37c7ba2e67a1bff035799b61',無效,仍提示org.apache.hadoop.hbase.PleaseHoldException: Master is initializing

嘗試3:

  1. 停止hbase服務,然后刪除zk上/hbase目錄,重啟hbase,其中由於啟動kerberos安全加固,刪除zk上的/hbase目錄操作具體如下:
  2. 登錄zk,查看權限
zookeeper-client -server ip:2181
[zk: ip:2181(CONNECTED) 1] getAcl /hbase
'world,'anyone
: r
'sasl,'hbase
: cdrwa
可以看到sasl用戶是hbase,退出zkclient
  1. 編寫jaas.conf.zk文件
cat jaas.conf.zk

Client {
  com.sun.security.auth.module.Krb5LoginModule required
  useKeyTab=true
  keyTab="/home/dw_hbkal/keytab/hbase.keytab"
  storeKey=true
  useTicketCache=false
  principal="hbase@CVBG.COM";
};
  1. 設置環境變量
export CLIENT_JVMFLAGS="-Djava.security.auth.login.config=/home/dw_hbkal/CDH/sha/CDH/etc/conf/hbase-conf/jaas.conf.zk"
  1. 登錄zk,刪除/hbase目錄
zookeeper-client -server ip:2181
[zk: ip:2181(CONNECTED) 0] rmr /hbase
  1. 上述步驟執行完,仍然沒有解決問題,考慮到一些元數據及數據可能是存放在hdfs上面,因為是前不久新建的cdh集群,沒有數據,不用擔心數據丟失的問題,所有執行了以下清理的動作

    kinit hdfs(hbase用戶權限不夠)
    hadoop fs -rmr /hbase/data/hbase/meta/*
    hadoop fs -rmr /hbase/data/hbase/namespace/*
    hadoop fs -rmr /hbase/MasterProcWALs/*
    
  2. 啟動hbase服務

    測試建表已經正常


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM