基于分布式存储系统的NameNode切换方法和切换装置的制造方法

文档序号:9791765阅读:467来源:国知局
基于分布式存储系统的NameNode切换方法和切换装置的制造方法
【技术领域】
[0001]本发明涉及互联网技术领域,具体而言,涉及一种基于分布式存储系统的NameNode切换方法和一种基于分布式存储系统的NameNode切换装置。
【背景技术】
[0002]目前,继云计算后,大数据成为当前科技领域备受关注的新动向,大数据需要有效地处理大量的容忍经过时间内的数据,其中,该数据包括:大规模并行处理(M a s s i V eParallel Processor,MPP)数据库、数据挖掘电网、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。Apache Hadoop作为一个开源分布式系统基础架构,由Apache基金会开发,用户可以在不了解分布式底层细节的情况下在Hadoop基础上开发分布式程序,进行数据分布式存储,从而可以充分利用集群的威力实现高速运算和存储。但是,在Hadoop大数据存储过程中,由于Hadoop架构的设计存在缺陷,虽然Hadoop为分布式存储,但是由于NameNode(管理文件系统的命名空间)为单节点,NameNode本身就不可避免地具有单点失效的风险,如果NameNode存在故障,则需重启NameNode,使整个Hadoop文件系统HDFS(Hadoop Distributed File System,分布式文件系统)无可用性,同时,关闭了NameNode后的数据恢复时间与文件系统大小成正比的关系。
[0003]在相关技术中,元数据备份方案利用了Hadoop自身的Failover(失效转移)措施,NameNode可以将元数据信息保存到多个目录。一般的做法是,选择一个本地目录和一个远程目录(通过NFS(Network File System,网络文件系统)进行共享),当NameNode发生故障时,可以启动备用机器的NameNode,加载远程目录中的元数据信息,提供服务。当将元数据做了备份且NameNode出现故障恢复服务时,需要重新启动NameNode并手动恢复元数据,且NameNode的恢复时间与文件系统规模成正比。
[0004]因此,在NameNode出现故障时,如何缩短NameNode服务恢复时间,使NameNode可以实时提供服务,进而提高基于Hadoop的分布式存储系统的稳定性,成为亟待解决的问题。

【发明内容】

[0005]本发明正是基于上述问题,提出了一种新的技术方案,一方面,可以有效地消除现有的基于Hadoop的分布式存储系统的单点故障,提高了系统的可用性;另一方面,当主NameNode出现故障时,可以迅速地切换至备份的NameNode,有效地缩短NameNode服务恢复的时间,使NameNode可以实时提供服务,进而提高分布式存储系统的稳定性。
[0006]有鉴于此,本发明提出了一种基于分布式存储系统的NameNode切换方法,包括:将主NameNode中的存储数据通过预设数据备份方式备份至从NameNode中,以完成数据同步存储过程;通过所述从NameNode检测所述主NameNode是否停止提供数据服务;根据检测结果确定是否将与所述主NameNode连接的虚拟IP地址切换连接至所述从NameNode。
[0007]在该技术方案中,通过在基于分布式存储系统中配置两个NameNode,任选其中的一个NameNode为主NameNode,则另一个NameNode为从NameNode,且配置主NameNode和从NameNode共用一个虚拟IP(Internet Protocol,网络之间互连的协议)地址,进而首先将主NameNode中的存储数据通过预设数据备份方式同步备份存储至从NameNode中,使两者中的存储数据完全相同,然后通过从NameNode来检测主NameNode是否在正常提供数据服务,以根据检测结果确定是否将与主NameNode连接的虚拟IP地址切换连接至从NameNode,S卩先将主NameNode连接至唯一的虚拟IP地址由该主NameNode提供数据服务,如此,一方面,可以有效地消除现有的基于Hadoop的分布式存储系统的单点故障,提高了系统的可用性;另一方面,当主NameNode出现故障时,可以迅速地切换至备份的NameNode,有效地缩短NameNode服务恢复的时间,使NameNode可以实时提供服务,进而提高分布式存储系统的稳定性。
[0008]在上述技术方案中,优选地,所述根据检测结果确定是否将与所述主NameNode连接的虚拟IP地址切换连接至所述从NameNode具体包括:在所述检测结果为是时,将与所述主NameNode连接的所述虚拟IP地址切换连接至所述从NameNode,以由所述从NameNode提供数据服务;在所述检测结果为否时,保持所述主NameNode与所述虚拟IP地址的连接状态。
[0009]在该技术方案中,当通过从NameNode检测到主NameNode已停止提供数据服务时,则立即将与主NameNode连接的唯一的虚拟IP地址切换连接至从NameNode,以由备份有与主NameNode完全相同的存储数据的从NameNode提供数据服务,否则,继续保持主NameNode与该虚拟IP地址的连接由主NameNode提供数据服务,并继续通过从NameNode检测主NameNode的状态,如此,当主NameNode出现故障时,可以迅速地切换至备份的NameNode,有效地缩短NameNode服务恢复的时间,使NameNode可以实时提供服务,进而提高分布式存储系统的稳定性。
[0010]在上述任一技术方案中,优选地,所述通过所述从NameNode检测所述主NameNode是否停止提供数据服务具体包括:判断所述从NameNode连续向所述主NameNode发送通讯包后未接收到来自所述主NameNode的响应通讯包的累计次数是否大于或等于预设次数;在判定所述累计次数大于或等于所述预设次数时,确定所述主NameNode已经停止提供数据服务,否则确定所述主NameNode未停止提供数据服务,其中,所述预设次数为大于或等于3的整数。
[0011]在该技术方案中,当通过从NameNode检测主NameNode是否停止提供数据服务时,具体地,由从NameNode向主NameNode连续发送通讯包并接收主NameNode根据接收到的通讯包反馈的响应通讯包,若未接收到响应通讯包则累计次数增加一次,并判断统计的累计次数是否已达到或超过预设次数,在判断结果为是时,可以判定主NameNode出现故障无法正常提供数据服务,则可以将虚拟IP地址切换连接至从NameNode,进而使该系统快速地恢复正常的工作,达到了使NameNode能够实时提供服务的目的,其中,预设次数的取值至少为3,以避免误判。
[0012]在上述任一技术方案中,优选地,在所述通过所述从NameNode检测所述主NameNode是否停止提供数据服务之前,还包括:通过Heartbeat建立所述主NameNode和所述从NameNode之间的通信连接,以使所述从NameNode向所述主NameNode发送所述通讯包并接收来自所述主NameNode的所述响应通讯包。
[0013]在该技术方案中,为了实现由从NameNode顺利检测主NameNode的状态,贝Ij需要预先建立主NameNode和从NameNode之间的通信连接,以实现二者之间的通讯包的传输,具体地可以通过Heartbeat(心跳服务)建立二者之间的通信连接,以实时获取对方的状态,进而通过从NameNode可以及时获知主NameNode是否仍在继续提供数据服务。
[0014]在上述任一技术方案中,优选地,所述预设数据备份方式包括:DRBD数据备份方式。
[0015]在该技术方案中,优选地通过DRBD(DistributedReplicated Block Device,是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案)数据备份方式将主NameNode中的存储数据同步备份至从NameNode中,进而确保主NameNode无法提供数据服务时可以快速切换至从NameNode提供同样的数据服务。
[0016]根据本发明的另一方面,提出了一种基于分布式存储系统的NameNode切换装置,包括:备份模块,用于将主NameNode中的存储数据通过预设数据备份方式备份至从NameNode中,以完成数据同步存储过程;检测模块,用于通过所述从NameNode检测所述主NameNode是否停止提供数据服务;切换模块,用于根据检测结果确定是否将与所述主NameNode连接的虚拟IP地址切换连接至所述从NameNode。
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1