今天在爲表增加LZO壓縮,在enable表時,發現耗時很長都未結束,就ctrl+c退出hbase shell,再進入繼續enable表,但此時出現如下錯誤:
ERROR: org.apache.hadoop.hbase.TableNotDisabledException:
錯誤說表未禁用,但進行disable表操作時,又出現如下錯誤:
ERROR: org.apache.hadoop.hbase.TableNotEnabledException
那肯定是剛纔強行退出導致出問題了,根據大家的經驗,指出這是因爲zookeeper保持了要enable的這個表信息,只需要登錄zk刪除該記錄就行。
登錄到zookeeper也有兩種方式,一是到zk目錄運行腳本連接,而是直接在hbase安裝目錄bin下運行:
hbase zkcli
都是小寫字母。之後就能連接上zookeeper了,跟着刪除/hbase/table下對應的表項就行:
delete /hbase/table/user_video_recommend2
之後就可以成功的enable表了。
如果此時仍然失敗,則可以運行一下命了修復META:
hbase hbck -fixMeta -fixAssignments