我在使用/etc/hosts
使用本地域配置的7个节点上设置了hadoop。
看起来像这样
1.2.3.4 hadoop-master
1.2.3.5 hadoop-slave-1
1.2.3.6 hadoop-slave-2
1.2.3.7 hadoop-slave-3
1.2.3.8 hadoop-slave-4
1.2.3.9 hadoop-slave-5
1.2.3.10 hadoop-slave-6
现在问题是,在某些节点上,hadoop-slave-1
的映射错误,也就是说,某些节点已将hadoop-slave-1
映射到1.2.3.12
而不是1.2.3.4
。
Namenode具有正确的映射,因此数据节点可以在namenode UI中正常显示。
问题是,仅更改/etc/hosts
文件并启动服务会很好吗?
我认为它可能会破坏与hadoop-slave-1
节点相关的某些特定块。
我可以想到两种解决方法:
-
在损坏的节点中修复/ etc / hosts文件,然后重新启动服务。但是我不确定这是否会破坏块。这个假设正确吗?
-
我们可以暂时从集群中删除该单个服务器
hadoop-slave-1
,然后重新平衡Hadoop集群以在其余6个节点之间分配整个数据,然后再次将服务器添加回集群中,并重新将数据平衡到7个节点。 但是问题在于,集群中包含的数据很大,可能会产生问题,并且重新平衡数据将是繁重的工作,并且会对名称节点服务器造成压力,并可能导致堆问题。
在这种情况下还有其他解决方案吗? 另外,您建议使用哪种工具或实用程序将数据复制到另一个hadoop集群?
帮助非常感谢!