0
在故障转移过程中,Hadoop的ZKFC将负责在ANN < - > SNN之间切换。 但是在这个过程中有一个叫做围栏的步骤来确保关闭ANN。Hadoop高可用性查询
如果ANN的电源关闭,并且采用了sshfence的默认策略。
“切换不会发生,因为ssh进入ANN将无法正常工作,从而影响高可用性”
从文档
“然而,当故障发生时,它仍然是可能的之前的Active NameNode可以向客户端提供读取请求,这可能会过时,直到NameNode在尝试写入JournalNodes时关闭,因此,即使在使用仲裁日志管理器时也需要配置一些防护方法。 “
- 其他分布式系统如何在不影响高可用性的情况下解决此问题?
- 如果上述问题已有解决方案,为什么hdfs没有采用它?
根据我的理解,配置多种防护方法并不能解决此问题中描述的问题。 “前面的活动NameNode仍可能向客户端提供读取请求” 所有分布式系统中的隔离概念是共同的还是仅与Hadoop有关?其他人如何处理陈旧读取的可能性? –
@pavankumarreddy配置多种击剑方法解决了您提到的另一个问题: “_Switch over不会发生,因为ssh进入ANN不会工作,因此会影响高可用性”#: Stale reads will be sshfence itself。它会ssh到namenode并杀死namenode进程。但是,如果您正在寻找更可靠的解决方案,请查看电源防护或其他解决方案[此处](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Cluster_Suite_Overview/) S2-击剑-概述-CSO.html) –