【问题标题】:Hadoop : swap DataNode & NameNode without losing any HDFS dataHadoop:在不丢失任何 HDFS 数据的情况下交换 DataNode 和 NameNode
【发布时间】:2018-09-05 08:30:11
【问题描述】:

我有一个由 5 台机器组成的集群:

  • 1 个大 NameNode
  • 4 个标准数据节点

我想用 DataNode 更改我当前的 NameNode 而不丢失存储在 HDFS 中的数据,所以我的集群可以变成:

  • 1 个标准 NameNode
  • 3 个标准数据节点
  • 1 个大数据节点

有人知道一种简单的方法吗?

非常感谢

【问题讨论】:

  • 可以备份namenode吗?如果是,则关闭所有datanode,使namenode下线,启动不同的namenode服务,然后恢复备份,然后启动所有datanode

标签: hadoop hdfs namenode datanode


【解决方案1】:
  1. 将移除 namenode 的数据节点。
  2. 停止集群。
  3. 从当前名称节点创建 dfs.name.dir 的 tar。
  4. 将所有 hadoop 配置文件从当前 NN 复制到目标 NN。
  5. 通过修改core-site.xml替换目标namenode的name/ip。
  6. 恢复 dfs.name.dir 的压缩包。确保完整路径相同。
  7. 现在通过启动新的名称节点和少一个数据节点来启动集群。
  8. 确认一切正常。
  9. 通过将旧名称节点配置为数据节点,将其添加为数据节点。
  10. 我建议在两个节点上卸载然后安装hadoop,这样之前的配置就不会造成任何问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-26
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多