hadoop中某些数据节点上的IP映射错误

我在使用/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节点相关的某些特定块。

我可以想到两种解决方法:

  1. 在损坏的节点中修复/ etc / hosts文件,然后重新启动服务。但是我不确定这是否会破坏块。这个假设正确吗?

  2. 我们可以暂时从集群中删除该单个服务器hadoop-slave-1,然后重新平衡Hadoop集群以在其余6个节点之间分配整个数据,然后再次将服务器添加回集群中,并重新将数据平衡到7个节点。 但是问题在于,集群中包含的数据很大,可能会产生问题,并且重新平衡数据将是繁重的工作,并且会对名称节点服务器造成压力,并可能导致堆问题。

在这种情况下还有其他解决方案吗? 另外,您建议使用哪种工具或实用程序将数据复制到另一个hadoop集群?

帮助非常感谢!

wusjxm 回答:hadoop中某些数据节点上的IP映射错误

通常,如果您有功能正常的DNS服务器(大多数路由器都使用),则不建议使用/etc/hosts

例如,在我的环境中,我可以ping namenode.lan


我认为选项2是最安全的选择。 hdfs -rebalancer工作正常。

并可能导致堆问题

然后停止namenode,增加堆,然后将其备份。在执行此操作时,请设置NameNode HA,这样就不会造成停机。


注意:master / slave主机名实际上不是描述性的。 HDFS和YARN,Hive和HBase和Spark每个都具有具有主服务的服务器-客户端体系结构,因此它们不应位于一台计算机上。

本文链接:https://www.f2er.com/2566249.html

大家都在问