我的 namenode 服务器这个周末被黑了,/usr/local/hadoop 目录不再存在。是否仍然可以恢复存储在 HDFS 上的文件?数据节点是可访问的,每个节点都包含层次结构 blk_{...} 数据中的某处。
最佳答案
如果您没有名称 dir 的任何副本/备份,恢复数据将是一项相当困难的任务。数据节点不知道文件的任何概念,只有 block 。所有数据都存在于这些 block 中,但您必须从它们的 block 中手动重建文件。如果您有一些非常重要的特定文件,但总体上没有那么多数据,您可以筛选 block 以找到您要查找的内容,但我不知道有什么比这更好的了。
这就是为什么有许多方法可以冗余地存储命名空间的多个副本,例如通过在 dfs.namenode.name.dir
属性中指定多个目录,并使用 Secondary 或 Standby Namenode(参见 https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html#Secondary_NameNode ),作为存储命名空间副本的远程位置.
关于hadoop - 删除名称节点后从 HDFS 恢复文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44372435/