hadoop集群format后,hadoop fs -ls /结果为空的分析过程

首先集群已经是使用过hive一段时间,然后手欠给format了,集群启动后执行hadoop fs -ls /发现结果为空,但是在hive中又能查到库的信息,如图:
在这里插入图片描述
可以看到hive中的配置信息中并没有指定warehouse的路径,所以为默认,如图:
在这里插入图片描述
此时再hive中随便创建名为的aaa的数据库
在这里插入图片描述
然后尝试删除之前的test库时报错:
在这里插入图片描述
结合上述截图,说明hive中显示的只是之前的元数据信息,本身HDFS上的实体数据因为Hadoop format后已经被清除了(如果删除了dfs目录下的文件),所以删除会报错。但是因为已经新创建了aaa库,所以就算不手动执行hadoop fs -mkdir /user/hive/warehouse,HDFS上也会重新生成warehouse文件夹,而且hive-site.xml中并没有显式的指定warehouse的路径:
在这里插入图片描述
所以会放在默认的位置。

这个问题验证了hive的数据分为两部分,一部分是真实的数据文件,存放在hdfs上,另一份是真实数据的元数据(即数据的描述信息,比如说存储位置、时间、大小之类的),一般存放在mysql中,存放的配置可以修改hive-site.xml来完成。

最后需要提示一个基本的概念,因为format是指的格式化,所以跟Hive中是建立的内部表还是外部表没关系。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页