hbase創建表提示表已經存在而list顯示無該表的處理


現象:1、用hbase shell 創建表roomRecord 提示表已經存在 但是list查不到,用enable 'roomRecord'/disable 'roomRecord'/is_enabled 'roomRecord'均沒有問題

       2、java中通過HTableDescriptor創建表,報錯如下圖:

            

導致這種錯誤的操作:

     在刪除一個表之前,disable的時候 不小心斷開或其他因素 導致disable沒有成功,然后就直接drop掉了這張表,雖然表被刪除掉了,但是zookeeper依然存在該表的信息,故而造成上述錯誤org.apache.hadoop.hbase.TableNotEnabledException,list的時候也找不到。

解決辦法:

           進入zookeeper安裝文件夾bin下,

     運行./zkCli.sh,進入zookeeper客戶端,登陸成功出現如下提示:

    

          運行 ls /  查看根目錄下的文件夾,分別進入 table 和table92 文件夾,如果文件夾下邊存在roomRecord,分別刪除,然后重啟hbase,問題得以解決。(注:重啟過程中可能會出現master: java.net.BindException: Address already in use master:         at sun.nio.ch.Net.bind。。。。的錯誤,是因為zookeeper已經啟動,可以先手動關閉zookeeper,然后再啟動hbase)

          

        刪除命令用:rmr  /hbase/table92/roomRecord

以下是別人的分析思路:放這里供參考

WARN org.apache.hadoop.hdfs.DFSClient: DataStreamer Exception: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /hbase/.tmp/t2/.tmp/.tableinfo.0000000001 could only be replicated to 0 nodes, instead of 1 

hbase(main):023:0* list 
無相應表 

排錯 
1.在hadoop查看有無此表的數據 
hadoop fs -ls /hbase 
也無此表的信息,說明沒有創建成功 
hadoop fs -ls /hbase hadoop/.tmp 
也不相應內容 
2.重新進入shell開啟debug,創建一個不存在的表,看一下業務流程 
hbase shell -d 
創建表,發現了如下信息 
13/05/06 11:15:03 DEBUG client.MetaScanner: Scanning .META. starting at row=lzotdsdsdest,,00000000000000 for max=2147483647 rows using org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@42db681c 
這個發現說明建表先到‘.META.’表里去檢查了有沒有要創建的表,於是scan了一下,也沒有我創建的表的信息。 

13/05/06 11:15:03 DEBUG zookeeper.ClientCnxn: Reading reply sessionid:0x13e77d2facc0005, packet:: clientPath:null serverPath:null finished:false header:: 9,4  replyHeader:: 9,596335,0  request:: '/hbase/root-region-server,T  response:: #ffffffff000d3139383239406861646f6f70306861646f6f70302c36303032302c31333637383039393138343531,s{589701,589701,1367809925480,1367809925480,0,0,0,0,45,0,589701}
這個信息說明在zookeeper上做了相應的檢查 
./zkCli.sh 
ls /hbase/root-region-server 
沒有什么發現 

DEBUG zookeeper.ClientCnxn: Reading reply sessionid:0x13e77d2facc0005, packet:: clientPath:null serverPath:null finished:false header:: 10,4  replyHeader:: 10,596342,0  request:: '/hbase/table/lzotdsdsdest,F  response:: #ffffffff000d3139363538406861646f6f7030454e41424c4544,s{596332,596338,1367810103284,1367810103537,2,0,0,0,25,0,596332}
這個信息說明在zookeeper上做了相應的檢查 


免責聲明!

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



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