HDFS HA(HDFS高可用QJM方式)
HDFS中NameNode用于存储元数据信息,元数据信息包括了文件名称、文件路径、文件的所有者、文件的所属组、文件的权限、文件的副本数等等等。这样NameNode会存在单点瓶颈问题。
此外考虑到NameNode有的时候需要进行集群内服务器升级、NameNode宕机等动态因素,一种
HA机制迫切需要!
HA机制(
不需要SecondaryNameNode,将合并工作交给standby的NameNode去做
)
问题分析:
之前使用的NameNode和SecondaryNameNode的架构虽然能够通过更新元数据保证元数据的高可靠性,但是
由于只有一台NameNode对客户端提供服务,那么,在遇到该NameNode宕机时,客户端的请求到来的时候就不能够做出响应,不能够保证高可用性。
解决思路:
提供两台NameNode进行响应客户端请求的任务。
但是这样的话存在以下问题:
首先:两台NameNode,由于NameNode需要及时更新元数据,两台NameNode的话都会往元数据里面添加信息,那么如何保证这两台NameNode能够正常响应客户端的请求?
-------应该保证在同一时间段内,只有一台NameNode对外提供响应服务,可以通过状态位进行标志,
只有状态为active的NameNode节点能够响应。而另外一台NameNode状态为standby,两台NameNode的功能完全相同。
然后:如果状态为active的NameNode宕机,应该如何让状态为standby的节点迅速无缝的切换成active的NameNode节点?