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