剛剛在向hbase表寫資料時發現一個神奇的現象:判斷該表顯示不存在,建表時發現顯示 表已存在。
org.apache.hadoop.hbase.TableExistsException: cash_log:op_info
檢視hdfs檔案發現該表資料不存在。
檢視 zk顯示該表 meta資訊存在。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SN0MTO1YTOlJDMihjY3MWZyYzXxEDOwATM1AzLchDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
要做的 就是在zk上使用
rmr /hbase1/table/cash_log:op_info
删除該表即可。
可是我寫成了
rmr /hbase1/table
導緻所有meta表删除
記得以前好像聽過使用hbck可以恢複,使用之後 沒用。
由于zk的資訊都是放在記憶體的,啟動的以後會讀取備份資訊。那麼我們隻要保留最新的zk備份版本即可。
zk的備份 檔案在zoo.cfg檔案中