我正在阅读Apache Hadoop文档和cloudera文档中的两个不同内容 基于cloudera,我们应该在高可用性模式下设置namenode,即:通过定义主要和次要的namenode,但是基于Hadoop文档,这应该由zookeeper自动处理,它应该在可用的datanode中决定namenode。
任何人都可以解释这个差异以及使用哪个?
答案 0 :(得分:2)
通过定义主要和次要名称节点
有一个"辅助名称节点",但它实际上是一个非常不同的东西,因为它不是备用,并且能够变为活动状态。
没有" vs"。 Namenode HA需要Zookeeper
如果您阅读了Cloudera documentation的更多信息,那么它就不会提及Zookeeper。
自动故障转移为HDFS部署添加了两个新组件:ZooKeeper仲裁和ZKFailoverController进程(缩写为ZKFC)。
Cloudera并没有在核心Hadoop功能之上打包很多额外内容(如果有的话)。
关于你的问题......
这应该由zookeeper自动处理
如果(手动)配置了HDFS Zookeeper属性,Zookeeper正在运行,并且Active Namenode关闭,则故障转移是自动的。
可用的数据节点
该操作与datanodes
无关