我在使用本地域配置的 7 个节点上使用/etc/hosts
. 看起来像这样
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 集群?
非常感谢帮助!