一、介紹
報錯信息:文章來源地址http://www.zghlxwxcb.cn/news/detail-758524.html
hbase(main):001:0> list_namespace
NAMESPACE
ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:2938)
at org.apache.hadoop.hbase.master.HMaster.listNamespaces(HMaster.java:3264)
at org.apache.hadoop.hbase.master.MasterRpcServices.listNamespaces(MasterRpcServices.java:1027)
at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:393)
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)
二、解決辦法
- 查詢百度
https://blog.csdn.net/weixin_43648549/article/details/123615758 (內(nèi)容大概需要進(jìn)行HBase初始化)- 刪除zookeeper中的所有的/hbase目錄
# 進(jìn)入zk客戶端 zkCli.sh # 刪除hbase目錄 rmr /hbase # 查看zookeeper內(nèi)部目錄 ls /
- 刪除HDFS中的/hbase目錄(具體目錄看hbase-site.xml文件)
# 刪除hdfs中的hbase目錄 hdfs dfs -rm -r /hbase
- 然后重新啟動
- 但是解決這個問題的時候沒有看見最后一個問題就去解決了,導(dǎo)致具體解決需要你來,此處給的方法之一就是重新進(jìn)行初始化按照上面給的步驟。刪除HDFS上的hbase目錄,刪除Zookeeper上的hbase目錄。重新啟動。
- 在此之前剛好弄了個ChatGPT也進(jìn)行了查詢
- 問題:hbase:ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
ChatGPT:
org.apache.hadoop.hbase.PleaseHoldException: Master is initializing 是 HBase 中的一個錯誤信息。它表示 HBase 的 Master 正在初始化中,不能處理當(dāng)前的請求。 在 HBase 啟動過程中,Master 需要加載和初始化各種元數(shù)據(jù)信息,例如表的 schema、region 的位置信息等。在這個過程中,如果有客戶端向 HBase 發(fā)送了查詢請求,就會收到 PleaseHoldException 錯誤信息,提示 Master 正在初始化中。 這通常是因為 HBase 正在進(jìn)行大量的元數(shù)據(jù)加載和初始化操作,而客戶端的請求無法得到及時處理。解決這個問題的方法是等待一段時間后再次發(fā)送請求,或者等待 Master 初始化完成后再啟動客戶端應(yīng)用程序。 需要注意的是,如果 Master 初始化過程中發(fā)生了異常,就可能導(dǎo)致 Master 無法啟動。這時需要檢查 HBase 的日志文件,查看具體的錯誤信息,并采取相應(yīng)的措施解決問題。
- 在系統(tǒng)中查看hbase日志文件:
master.HMaster: hbase:meta,,1.1588230740 is NOT online; state={1588230740 state=OPEN, ts=1678268892251, server=xsqone144,16020,1678267088023}; ServerCrashProcedures=false. Master startup cannot progress, in holding-pattern until region onlined. ServerCrashProcedures=false. Master startup cannot progress, in holding-pattern until region onlined. snapshot.SnapshotManager: Couldn't delete working snapshot directory: hdfs://192.168.136.144:9000/hbase/.hbase-snapshot/.tmp
- 問題:Hbase日志中報錯信息為ServerCrashProcedures=false. Master startup cannot progress, in holding-pattern until region onlined.
ChatGPT:
ServerCrashProcedures=false. Master startup cannot progress, in holding-pattern until region onlined. 是 HBase 日志中的一條錯誤信息,表示 HBase Master 啟動時遇到了問題,無法繼續(xù)處理請求,進(jìn)入等待狀態(tài)。 在 HBase 啟動過程中,Master 負(fù)責(zé)加載和管理 RegionServer,并且需要對集群中出現(xiàn)的異常事件做出響應(yīng)。如果啟用了 ServerCrashProcedures,Master 可以檢測到 RegionServer 的異常退出,并采取相應(yīng)的措施,例如重新分配 Region、重新平衡集群等。如果未啟用 ServerCrashProcedures,Master 將無法處理這些異常事件,導(dǎo)致集群無法正常工作。 在出現(xiàn) ServerCrashProcedures=false 錯誤時,通常是由于某個 RegionServer 異常退出,但是 Master 沒有收到通知,導(dǎo)致無法繼續(xù)處理請求。為了解決這個問題,可以嘗試以下方法: 啟用 ServerCrashProcedures:在 hbase-site.xml 配置文件中設(shè)置 hbase.master.enabletableprocedure=true 和 hbase.master.procedure.queue.enabled=true,可以啟用 ServerCrashProcedures 功能,讓 Master 能夠?qū)Ξ惓J录龀鲰憫?yīng)。 手動觸發(fā) RegionServer 重新分配:使用 hbase hbck -fix 命令手動觸發(fā) RegionServer 的重新分配,以解決集群無法正常工作的問題。 檢查 HBase 日志文件:查看 HBase 的日志文件,分析具體的錯誤信息,嘗試解決問題。 需要注意的是,出現(xiàn) ServerCrashProcedures=false 錯誤時,可能會影響集群的穩(wěn)定性和可用性,應(yīng)及時采取措施解決問題。
- 問題(但此時我的兩個服務(wù)都已啟動成功):master.HMaster: hbase:meta,1.1588230740 is NOT online; state={1588230740 state=OPEN, ts=1678268892251, server=xsqone144,16020,1678267088023}; ServerCrashProcedures=false. Master startup cannot progress, in holding-pattern until region onlined.
ChatGPT:
根據(jù)給出的日志,HBase的master進(jìn)程在啟動過程中發(fā)現(xiàn)hbase:meta這個Region Server處于不在線的狀態(tài)。這個Region Server的具體信息為:server=xsqone144,16020,1678267088023。 這個問題可能由以下原因引起: Region Server進(jìn)程未正確啟動或已經(jīng)停止:可以檢查Region Server進(jìn)程的日志,查看是否存在任何錯誤或異常信息。 網(wǎng)絡(luò)故障:檢查Region Server所在機(jī)器與HBase集群的網(wǎng)絡(luò)連接是否正常。 配置錯誤:檢查HBase配置文件中與該Region Server有關(guān)的配置是否正確。 針對這個問題,可以采取以下解決步驟: 檢查Region Server進(jìn)程是否正常運行。如果該進(jìn)程已停止,需要重新啟動該進(jìn)程。 檢查網(wǎng)絡(luò)連接是否正常??梢酝ㄟ^ping命令測試Region Server所在機(jī)器與HBase集群之間的連接。 檢查HBase配置文件中與該Region Server有關(guān)的配置是否正確。特別是檢查hbase.regionserver.hostname配置是否與該Region Server所在機(jī)器的主機(jī)名一致。 如果以上步驟均未解決問題,可以嘗試重啟整個HBase集群或聯(lián)系相關(guān)人員進(jìn)行進(jìn)一步的排查。
- 問題:snapshot.SnapshotManager: Couldn’t delete working snapshot directory: hdfs://192.168.136.144:9000/hbase/.hbase-snapshot/.tmp
ChatGPT:
根據(jù)給出的日志,HBase的SnapshotManager在執(zhí)行快照操作時無法刪除工作目錄,工作目錄的路徑為:hdfs://192.168.136.144:9000/hbase/.hbase-snapshot/.tmp。 這個問題可能由以下原因引起: HBase沒有足夠的權(quán)限來刪除該目錄:可以檢查HBase所使用的賬號是否具有刪除該目錄的權(quán)限。 目錄正在被其他進(jìn)程占用:可能有其他HBase進(jìn)程或其他進(jìn)程正在使用該目錄??梢酝ㄟ^lsof命令查看該目錄是否被其他進(jìn)程占用。 針對這個問題,可以采取以下解決步驟: 確認(rèn)HBase所使用的賬號是否具有刪除該目錄的權(quán)限。如果權(quán)限不足,需要修改權(quán)限或使用具有足夠權(quán)限的賬號來執(zhí)行該操作。 確認(rèn)目錄是否被其他進(jìn)程占用。如果是,需要先停止占用該目錄的進(jìn)程,然后再執(zhí)行刪除操作。 如果以上步驟無法解決問題,可以嘗試手動刪除該目錄。在手動刪除之前,需要確保該目錄沒有被其他進(jìn)程占用,并且要注意備份該目錄以防止數(shù)據(jù)丟失。 在解決該問題之后,建議對HBase的工作目錄和快照目錄進(jìn)行定期清理,以避免類似的問題發(fā)生。
- 問題:hbase:ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
- 請注意一定查看(***/hbase*/logs/*****.log)文件,此文件有具體的錯誤信息。請按照具體的錯誤信息進(jìn)行處理。
文章來源:http://www.zghlxwxcb.cn/news/detail-758524.html
到了這里,關(guān)于HBase啟動后查詢報錯:ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!