剛剛在向hbase表寫數據時發現一個神奇的現象:判斷該表顯示不存在,建表時發現顯示 表已存在。
org.apache.hadoop.hbase.TableExistsException: cash_log:op_info
查看hdfs文件發現該表數據不存在。
查看 zk顯示該表 meta信息存在。
要做的 就是在zk上使用rmr /hbase1/table/cash_log:op_info
刪除該表即可。
可是我寫成了rmr /hbase1/table
導致所有meta表刪除
記得以前好像聽過使用hbck可以恢復,使用之後 沒用。
由於zk的信息都是放在內存的,啓動的以後會讀取備份信息。那麼我們只要保留最新的zk備份版本即可。
zk的備份 文件在zoo.cfg文件中
進入該目錄下的version-2目錄,把文件名大於你需要恢復的文件刪除(如果是集羣,每臺機器都要刪除)重新啓動zk集羣 (集羣每一個) 即可解決 。