我有一个小的hadoop集群,它有一个主节点和一个从节点,出于某种原因,主框必须在另一台机器上移动。虽然我可以很容易地重新配置节点,而且我有一个迁移配置单元元数据和其他内容的策略,但我关心的是hdfs。我必须在目标机器上移动hadoop\u tmp(hdfs所在的位置)的文件吗?或者集群将通过从服务器复制文件来重建?我担心的是着陆时hdfs不一致,什么是最好的?
b0zn9rqh1#
distcp是最好的方法。distcp公司
gpfsuwkq2#
我在这里描述我是如何做到的,因为它工作了,不知道这是不是最好的方式,但它的工作方式没有文件系统处于不一致的状态。非常简单的方法是:设置hdfs安全模式: hdfs dfsadmin -safemode enter 停止群集使用所有hadoop所需的软件、用户和配置配置新主机从新主机上的hadoop文件系统复制文件,相应地更改权限更改dns以反映新的拓扑(可能是/etc/hosts),或者在需要时更改所有群集配置文件中的ip以反映新的主地址启动新的集群,它应该像往常一样启动,甚至启动从属集群检查dfs,然后退出安全模式: hdfs dfsadmin safemode -leave
hdfs dfsadmin -safemode enter
hdfs dfsadmin safemode -leave
2条答案
按热度按时间b0zn9rqh1#
distcp是最好的方法。distcp公司
gpfsuwkq2#
我在这里描述我是如何做到的,因为它工作了,不知道这是不是最好的方式,但它的工作方式没有文件系统处于不一致的状态。非常简单的方法是:
设置hdfs安全模式:
hdfs dfsadmin -safemode enter
停止群集使用所有hadoop所需的软件、用户和配置配置新主机
从新主机上的hadoop文件系统复制文件,相应地更改权限
更改dns以反映新的拓扑(可能是/etc/hosts),或者在需要时更改所有群集配置文件中的ip以反映新的主地址
启动新的集群,它应该像往常一样启动,甚至启动从属集群
检查dfs,然后退出安全模式:
hdfs dfsadmin safemode -leave