hadoop federation 与hadoop HA

来源:互联网 发布:刀锋上的救赎 知乎 编辑:程序博客网 时间:2024/06/05 08:40

Hadoop Federation

namenode的内存中存储了每个文件在文件系统中的块的引用,如果文件的数量巨大,则内存会成为集群扩展的关键因素。Hadoop 2.x版本中引入HDFS federation,此机制允许集群添加多个namenode扩展集群,每一个namenode管理文件系统中的部分命名空间,且各个namenode之间不会通信,一个namenode的宕机或出错不会影响其他namenode的可用性。比如,一个namenode管理以/user为根的文件,另一个namenode管理以/share为根的文件。在hadoop federation集群中的datanode会向集群中每个namenode发送块列表等信息。

 

Hadoop HA

因为hadoop集群中仅仅存在一个namenode,当namenode出现故障时,客户端将无法读、写文件列表,整个hadoop集群将停止服务,直到新的namenode使用。因为namenode是唯一的元数据存储库,也是唯一的记录文件到块映射的节点。如果要在唯一一个namenode宕机的情况下恢复集群服务,管理员可以使用新的namenode,等到新namenodefsimage加载到内存中、加载edis log、接受完成所有datanode的块报告而退出安全模式时,才可以继续提供客户端的服务。由此可见,处理namenode宕机需要花费较长的时间。

Hadoop HA解决了唯一namenode宕机时停止服务的问题。Hadoop HA中配置一对namenode,一个为active,另一个作为备用。如果active出现问题则集群自动将备用的namenode调整为active状态,从而继续为客户提供服务,不会造成集群的重大中断。datanode需要向两个namenode发送块报告,因为文件与块的映射是存储在namenode的内存中的。

原创粉丝点击