hadoop中某些数据节点的IP映射错误
Posted
技术标签:
【中文标题】hadoop中某些数据节点的IP映射错误【英文标题】:Wrong IP mapping on some data nodes in hadoop 【发布时间】:2020-03-27 18:25:14 【问题描述】:我在使用 /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 集群?
帮助非常感谢!
【问题讨论】:
【参考方案1】:一般来说,如果您有一个功能正常的 DNS 服务器(大多数路由器都是),则不建议使用 /etc/hosts
。
比如在我的环境下,我可以ping namenode.lan
我认为选项 2 是最安全的选择。 hdfs -rebalancer
工作正常。
并可能导致堆问题
然后停止namenode,增加堆,然后重新启动它。当您使用它时,请设置 NameNode HA,这样您就不会停机。
注意:master
/slave
主机名实际上不是描述性的。 HDFS 和 YARN 以及 Hive 和 HBase 和 Sparkall 中的每一个都有带有主服务的服务器-客户端架构,它们不应该位于一台机器上。
【讨论】:
以上是关于hadoop中某些数据节点的IP映射错误的主要内容,如果未能解决你的问题,请参考以下文章