日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

org.apache.hadoop.hbase.PleaseHoldException: Master is initializing(解決方案汇总+自己摸索)

發布時間:2023/12/31 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 org.apache.hadoop.hbase.PleaseHoldException: Master is initializing(解決方案汇总+自己摸索) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#--------------------------------------環境(start)--------------------------------------------------------------

ubuntu19.10

hbase2.2.4

hadoop3.2.1

zookeeper

不使用hbase自帶的zookeeper,有個麻煩的地方,就是自帶的zookeeper沒有zkCli.sh文件,可以借助獨立的zookeeper中的

$ZOOKEEPER/bin/zkCli.sh的作用
?

#--------------------------------------環境(end)--------------------------------------------------------------

#--------------------------------------問題復現(start)--------------------------------------

網上很多博客搭建完zookeeper和hbase集群后只是進行了status和ls命令,這樣根本沒法發現這個錯誤,

這個錯誤最要命的地方就是寫入的時候才會觸發,運氣不好的,status和ls命令也會觸發。

問題復現:

hbase(main):001:0> create 't1', {NAME => 'f1', VERSIONS => 5}

ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
?? ?at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:2821)
?? ?at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:2028)
?? ?at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:659)
?? ?at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
?? ?at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413)
?? ?at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133)
?? ?at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338)
?? ?at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318)

意外發現也可以在web ui中發現:

既然在HBCK report中出現,那猜測和HBCK這個東西相關。

這個問題的原因非常多,需要一個個排查各種方案進行嘗試。

#--------------------------------------問題復現(end)--------------------------------------

#--------------------------------------網上現有的方案(開始)--------------------------------------------------------------

①hbase-site.xml中尤其是ip和端口要仔細檢查,不要沖突了(尤其是搞偽分布式的)

②$HBASE_HOME/logs中確保各個文件沒有報錯,如果是下面這種,則可以忽略

INFO ?[main-SendThread(Laptop:2182)] zookeeper.ClientCnxn: Opening socket connection to server Laptop/192.168.0.102:2182. Will not attempt to authenticate using SASL (unknown error)

/home/appleyuchi/bigdata/hadoop-3.2.1/logs這個路徑下查看下log

④集群中某個節點的時間與其他主機不同步,關閉集群防火墻,hbase-site.xml中參數hbase.rootdir使用hdfs協議

⑤進入zookeeper的shell模式然后deleteall /hbase

-----------------------------------------------網上現有的方案(結束)----------------------------------------------------------------

網上所有方案嘗試失敗,于是開始了艱難又辛酸的排查過程。。。。(嗚嗚嗚嗚~~~)

因為web UI中的hbck report中報告了該錯誤,所以猜測和hbck相關。

命令行輸入hbase hbck

2020-05-20 11:08:46,047 INFO ?[main] client.RpcRetryingCallerImpl: Call exception, tries=6, retries=16, started=4214 ms ago, cancelled=false, msg=org.apache.hadoop.hbase.PleaseHoldException: Master is initializing

?

$HBASE_HOME/logs/hbase-appleyuchi-zookeeper-Desktop.out得到:

java.io.IOException: Could not find my address: Desktop in list of ZooKeeper quorum servers

hbase-env.sh中修改為:

export HBASE_MANAGES_ZK=false

?

最終解決方案:

hadoop3.2.1改成3.1.2,配合hbase2.2.4即可。

再次hbase shell,可以順利新建數據表了

問題解決了,沒事真的別去嘗試最新的版本。

------------------------------------------------排查過程中碰到的常見問題(start)---------------------------------------------------------

問題一:

當①②確保沒有,那么這個時候,報錯的源頭就在③中了,根據③我們得到:

hadoop-appleyuchi-namenode-Desktop.log:org.apache.hadoop.fs.PathIsNotEmptyDirectoryException: `/hbase/WALs/desktop,16020,1589718585850-splitting is non empty': Directory is not empty

解決方案:

①hdfs dfs -rm -r /hbase/WALs/*

②關閉hbase

③關閉hdfs

④啟動hdfs

⑤關閉hdfs安全模式

⑥啟動hbase

⑦得到新的報錯:

java.io.FileNotFoundException: File does not exist: /hbase/WALs/

重復②-⑥可以讓該報錯消失。

?

問題二:

運行本文開頭的語句得到:

hbase(main):004:0* create 't1', {NAME => 'f1', VERSIONS => 5}

ERROR: KeeperErrorCode = NoNode for /hbase/master

找到zoo.cfg中的下面兩行

dataDir=/home/appleyuchi/dfs/zookeeper/data
dataLogDir=/home/appleyuchi/dfs/zookeeper/log

然后刪除上述兩個路徑下面的version-2文件夾

------------------------------------------------排查過程中碰到的常見問題(end)---------------------------------------------------------------------

-----------------------------------------------------hbase和hadoop兼容版本(start)-------------------------------------------------------------

-------------------------------------------------hbase和hadoop兼容版本(end)---------------------------------------------------------------------------------

Reference:

[1]hbase操作(shell 命令,如建表,清空表,增刪改查)以及 hbase表存儲結構和原理

[2]HBase hbck——檢察HBase集群的一致性

[3]Apache HBase ? Reference Guide

?

?

?

總結

以上是生活随笔為你收集整理的org.apache.hadoop.hbase.PleaseHoldException: Master is initializing(解決方案汇总+自己摸索)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。