我有一个带有主节点和从属的小型hadoop群集,由于某种原因,主盒子必须在另一台机器上移动。 虽然我可以很容易地重新配置节点,并且我有一个迁移hive元数据和其他东西的策略,但我关注的是HDFS。我是否必须在目标机器上移动hadoop_tmp(我的hdfs所在的位置)的文件?或者通过从服务器复制文件来重建群集?我担心的是hdfs不一致,最好的是什么?
答案 0 :(得分:1)
DistCP将是最好的方法。 DistCP
答案 1 :(得分:0)
我在这里描述了我是如何做到的,因为它有效,不知道它是否是最好的方式,但它可以在不使文件系统处于不一致状态的情况下工作。 非常简单的方法是:
hdfs dfsadmin -safemode enter
从新主计算机上的hadoop文件系统复制文件,相应地更改权限
更改DNS以反映新拓扑(可能是/ etc / hosts),或在所有群集配置文件中需要时更改IP以反映新的主地址
启动新群集,它应该像往常一样启动,甚至启动奴隶
检查DFS,然后退出安全模式:hdfs dfsadmin safemode -leave