在分布式系统中,如果某个节点挂掉了怎么办?尤其是master节点。hdfs有两种机制可以解决这个问题:HDFS HA(high ability)和HDFS Federation
HA
namenode里面有映射表,可以控制所有的datanode。
为了防止namenode挂掉,所有一般会有两个namenode:namenode active ; namenode standby。只有active对外提高服务。
为了时刻保持active与standby的数据同步,一般会有一个JournalNode。
为了使得standby可以转换为active,有一个zookeeper机制。会有一个fail over controller分别时时监控active和standby的状态。
Federation
有多个namenode,分别负责几个datanode。类似于美国的联邦机制
结合
很多时候,会将两种机制结合起来使用。
会有多个namenode,没有namenode都有active和standby