1

我在蜂巢中创建了几个表。我对他们进行了一些查询。然后退出蜂巢,然后关闭 hadoop mapred 和 dfs。然后第二天回来却发现桌子不见了!

我的蜂巢使用本地元存储。经过大量搜索,我只看到有人发布了一个这样的问题。答案中建议,如果使用 metastore,则本地应该从同一位置启动配置单元。我也做过同样的事情。我只从主人那里运行蜂巢,甚至从未登录过奴隶。Metastore 文件夹仍然存在。那么一定是哪里出了问题?我检查了 hadoop 和 hive 元存储日志的数据节点日志。但是什么也没发现。我在哪里可以找到问题所在?请帮我解决一下这个。还有什么可以避免这样的事情?

4

2 回答 2

2

如果您使用本地元存储,Hive 会在启动 hiveserver2 的目录中创建 metastore_db。因此,如果您下次从不同的目录位置启动 hiveserver2,那么将在该位置创建一个新的 metastore_db,并且此 metastore_db 将没有关于您之前的表的元数据。

于 2015-12-29T06:11:31.617 回答
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 \
于 2012-08-29T19:58:05.833 回答