首先集群已经是使用过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的路径:
hadoop集群format后,hadoop fs -ls /结果为空的分析过程
最新推荐文章于 2021-04-24 17:17:18 发布
本文介绍了在Hadoop集群执行format后,`hadoop fs -ls /`返回空,但Hive仍能显示库信息的情况。问题在于HDFS上的数据被清除,而Hive元数据仍然存在。通过创建新库并尝试删除旧库,验证了Hive的数据分为HDFS上的实际文件和MySQL中的元数据两部分。format操作不影响Hive内部表或外部表的定义。
摘要由CSDN通过智能技术生成