Hadoop 删除namenode后从HDFS恢复文件

Hadoop 删除namenode后从HDFS恢复文件,hadoop,hdfs,recovery,Hadoop,Hdfs,Recovery,我的namenode服务器本周末被黑客攻击,/usr/local/hadoop目录不再存在。仍然可以恢复存储在HDFS上的文件吗?数据节点是可访问的,并且每个节点都包含层次结构中的某个位置的blk{…}数据。如果没有名称目录的任何副本/备份,则恢复数据将是一项相当困难的任务。datanodes不知道文件的任何概念,只知道块。所有数据都存在于这些块中,但您必须从它们的块中手动重建文件。如果您有一些非常重要的特定文件,并且总体上没有那么多数据,那么您可以在这些块中进行筛选,以找到您要查找的内容,但我

我的namenode服务器本周末被黑客攻击,/usr/local/hadoop目录不再存在。仍然可以恢复存储在HDFS上的文件吗?数据节点是可访问的,并且每个节点都包含层次结构中的某个位置的blk{…}数据。

如果没有名称目录的任何副本/备份,则恢复数据将是一项相当困难的任务。datanodes不知道文件的任何概念,只知道块。所有数据都存在于这些块中,但您必须从它们的块中手动重建文件。如果您有一些非常重要的特定文件,并且总体上没有那么多数据,那么您可以在这些块中进行筛选,以找到您要查找的内容,但我不知道还有比这更好的


这就是为什么有许多方法可以冗余存储名称空间的多个副本,例如,通过在
dfs.namenode.name.dir
属性中指定多个目录,并使用辅助或备用namenode(请参阅),充当存储名称空间副本的远程位置。

如果没有名称目录的任何副本/备份,则恢复数据将是一项相当困难的任务。datanodes不知道文件的任何概念,只知道块。所有数据都存在于这些块中,但您必须从它们的块中手动重建文件。如果您有一些非常重要的特定文件,并且总体上没有那么多数据,那么您可以在这些块中进行筛选,以找到您要查找的内容,但我不知道还有比这更好的


这就是为什么有许多方法可以冗余存储名称空间的多个副本,例如,通过在
dfs.namenode.name.dir
属性中指定多个目录,并使用辅助或备用名称节点(请参阅),作为存储名称空间副本的远程位置。

感谢您的帮助@krog!如果我有一份dir这个名字的副本,你能告诉我怎么办吗?我无法启动hadoop集群,但我可以看到name dir的内容(在我的配置中,它位于/opt/hadoop/hadoop_data/hdfs/namenode/current中):编辑。。。和FSI。。。文件。@Patrick您能更详细地说明删除的内容吗?/usr/local/hadoop的内容是什么?实际上,我的服务器(在云上)被我的主机置于救援模式,因为它被黑客攻击了,但在对防火墙做了一些更改后,它能够以正常模式重新启动服务器。现在一切都好了。再次感谢您的帮助@krog,非常感谢。谢谢您的帮助@krog!如果我有一份dir这个名字的副本,你能告诉我怎么办吗?我无法启动hadoop集群,但我可以看到name dir的内容(在我的配置中,它位于/opt/hadoop/hadoop_data/hdfs/namenode/current中):编辑。。。和FSI。。。文件。@Patrick您能更详细地说明删除的内容吗?/usr/local/hadoop的内容是什么?实际上,我的服务器(在云上)被我的主机置于救援模式,因为它被黑客攻击了,但在对防火墙做了一些更改后,它能够以正常模式重新启动服务器。现在一切都好了。再次感谢您的帮助@krog,非常感谢。