当连接的namenode在Hadoop中停止时,datanode不会自动连接到另一个namenode吗?

kuuvgm7e  于 5个月前  发布在  Hadoop
关注(0)|答案(1)|浏览(63)

我们在Ubuntu上安装了hadoop 2.2.0,并按如下方式配置了HA。

名称:master,master-ha
datanode:slave

我们确认master和master-ah连接正确,状态设置为主备,我们也确认了从数据节点连接到主服务器。
为了检查故障转移是否有效,我杀死了主服务器上的namenode,并检查master-ha的hadoop状态是否更改为active。检查后,master-ha的状态更改为active。然而,从服务器的datanode继续留下日志试图连接到主服务器的namenode。
我知道namenode的故障转移过程,但我不确定datanode会发生什么。
我认为datanode应该自动连接到一个活动的namenode,但我搜索了一下,它说不是这样的。这是正确的吗?
另外,我很好奇的是,当namenode被更改为active时,正常的输入/输出是可能的。我认为在datanode中不应该发生连接错误。我很好奇你对此的看法。

4dbbbstv

4dbbbstv1#

datanode可能处于复制同步或其他读/写操作的中间,并且在故障转移发生时具有挂起的操作,所以是的,会有关于连接错误的临时日志。
datanode的core-site.xml文件需要引用一个NameService和所有Namenode地址;否则它们将不会自动更新,因为原始NameNode已经消失,并且无法通知它们任何更改。
您应该考虑使用最新的稳定Hadoop 3.x,其中协议可能已通过网络重新连接进行了改进。

相关问题