注册。 Hadoop 名称节点格式

注册。 Hadoop 名称节点格式

我正在使用 CentOS 9 和 Hadoop 3.1.1 在我的个人机器上构建 Hadoop 伪集群。我完成了hadoop的安装并进行了一些操作,一切都很好。后来,当我执行 jps 时,我的 namenode 守护进程没有运行。因此,根据谷歌搜索的指南,我删除了 namenode 和 datanode 目录,重新创建了它们并执行了“hadoop namenode -format”,然后我的 namenode(以及 datanode)守护进程启动并运行。但我无法使用“hdfs dfs -ls”获取存储在 hdfs 中的任何数据,该命令用于在格式化名称节点之前获取数据。

据我所知,格式化 namenode 会在 namenode VERSION 文件中创建新的命名空间 ID 和集群 ID,因此我们无法从 hdfs 获取旧数据。

我也想知道如何恢复数据。

我尝试了以下但不起作用。

  1. 将 clusterID 值从 datanode VERSION 文件替换为 namenode VERSION 文件,假设 datanode 将发送心跳并报告给 namenode,从而 namenode 将构建元数据。但这没有帮助。

请问有恢复数据的建议吗?

答案1

您可能无法恢复数据。

正如你所说:

我删除了 namenode 和 datanode 目录,重新创建了它们并执行了“hadoop namenode -format”

基本上你:

  • 从namenode目录中清除元数据(数据存储位置的信息)
  • 清除存储在 datanode 目录中的实际数据
  • 创建了新的命名空间 ID

更多相关内容https://stackoverflow.com/questions/27143409/what-the-command-hadoop-namenode-format-will-do

相关内容