将主hadoop dfs namenode从一个主机移动到另一个主机的正确步骤是什么?
我在ubuntu14.04.3lts上使用了hadoop的2.7.1版本(没有yarn)。
完成的步骤:
将整个hadoop目录复制到新主机
在$hadoop\u home/etc/hadoop/master中设置新主机
更新了$hadoop\u home/etc/hadoop/core-site.xml中的fs.default.name标记
用旧namenode的clusterid格式化新namenode:$hadoop\u home//bin/hadoop namenode-format-custerid$cluster\u id(我从配置中删除了从属服务器,只是为了确保没有从属服务器受到影响;也许这是个问题?)
问题是,由于clusterid不匹配,datanodes仍然没有出现:
2016-03-30 16:20:28,718 WARN org.apache.hadoop.hdfs.server.common.Storage: java.io.IOException: Incompatible clusterIDs in /storage/data: namenode clusterID = CID-c19c691d-10da-4449-a7b6-c953465ce237; datanode clusterID = CID-af87cb62-d806-41d6-9638-e9e559dd3ed7
2016-03-30 16:20:28,718 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool <registering> (Datanode Uuid unassigned) service to XXXXXXXXXXXXXX. Exiting.
java.io.IOException: All specified directories are failed to load.
有什么建议吗?我是否也必须添加块池id?
1条答案
按热度按时间r1zk6ea11#
所以我终于把它搬走了。
将正在运行的hdfs设置为安全模式:bin/hadoop dfsadmin-safemode enter
tarball dfs.name.dir下的完整目录
将tarball移动到新的namenode并提取内容。
将core-site.xml和master更改为新节点的主机名
启动并离开安全模式:bin/hadoop dfsadmin-safemode leave