分享

hadoop在hdfs上删除文件的问题

hadoop上传文件的时候,是上传保存在hdfs上吗?那么要删除hdfs上的文件时,会不会把datanode与之相关的块信息删除吗? (如果不会,那要不要把这些块给手动删除吗?还是hadoop会自己删除吗?)
有点模糊了:那真实的文件信息是保存在各datanode上面还是在hdfs上吗?吗?吗?
              
               
               

已有(2)人评论

跳转到指定楼层
easthome001 发表于 2013-12-11 12:50:46

            hadoop会把namenode的元信息和datanode上的数据一并删除
hdfs是文件系统    datanode是hdfs用来存储数据的节点    完全不是一个概念
文件在hdfs上指的是namenode上存放有该文件的元数据,而文件实际是存储在datanode上的
        
回复

使用道具 举报

datong838 发表于 2013-12-11 12:51:35

            所有的datanode组成你的hdfs,也就是用来存储你所上传文件的地方,这其实可以算是一个独立的文件系统。而namenode相当于一个管理者的角色,它上面存储了你上传的文件是怎么分配到各个节点的相关存储信息,成为元数据。回答你的问题:1.上传文件是上传到hdfs,上传的时候,文件本身存储到各个datanode,同事datanode存储了这些文件存储在哪,怎么存储的这些相关信息,这样,datanode知道怎么能找到这些文件。2.删除文件的时候,datanode与之相关的元信息会自动删除,不用你做任何事。3.真是的文件就是存储在HDFS上,HDFS就是一个独立的分布式文件系统,HDFS存储文件的部分就是由所有datanode联合组成的,所以也是存到各个datanode上了。但是你在hdfs里可以完整清晰的看到你存储的文件,而再datanode的linux系统上看,只是一些块(block,默认是64M),你分不出到底是哪个文件的。而HDFS可以通过datanode的元信息,知道哪些快属于哪个文件,然后给你呈现的是整体。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条