2012-08-24 181 views
1

我在配置單元中創建了幾個表。我打了幾個問題。然後退出配置單元,然後關閉hadoop mapred和dfs。然後第二天回來,只是看到表丟失了!蜂巢表丟失

我的配置單元使用本地Metastore。經過大量搜索後,我發現只有一個人發佈了這樣的問題。有人在答案中提出,如果使用局部腫瘤,那麼配置單元應該從相同的位置開始。我也這樣做了。我只從主人那裏跑過蜂房,甚至從未登錄過奴隸。 Metastore文件夾仍然存在。那麼一定是出了什麼問題呢?我檢查了hadoop和配置單元Metastore日誌的datanode日誌。但一無所獲。我在哪裏可以找到哪裏出了問題?請幫我解決一下這個。還有什麼可以做,以避免這樣的事情?

回答

0

第一天使用數據庫的位置?第二天你在哪裏使用它?

含義

hive> show databases; 
OK 
default 
test 
Time taken: 1.575 seconds 
hive> use database test; 
hive> show tables; 
OK 
blah 
Time taken: 0.141 seconds 
hive use table blah; 

如果您忘記使用數據庫或創建一個事情會變得混亂。

另外下面的命令返回什麼?

sudo -u hdfs hadoop fs -ls -R \ 
+0

發生了很奇怪的事情。第二天,所有的表格再次開始顯示。順便說一句,我已經看到hadoop文件系統,它顯示了那裏的文件。只在配置單元中缺失 – Shades88

+0

我也面臨這個問題:甚至在他們的文件夾被顯示在hdfs'user/hive/warehouse'中後表格丟失。 你能擺脫這種奇怪的行爲或背後的原因嗎? 我已經問了一個關於相同的[這裏]的新問題(http://stackoverflow.com/questions/31457595/hive-failed-semanticexception-error-10001-line-143-table-not-found)。 – rvd

2

如果您使用本地Metastore,Hive會在啓動hiveserver2的目錄中創建metastore_db。因此,如果您下次從其他目錄位置啓動hiveserver2,則會在該位置創建新的metastore_db,並且此metastore_db不會包含有關您較早表的元數據。