CN105554130A - 基于分布式存储系统的NameNode切换方法和切换装置 - Google Patents

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

Info

Publication number
CN105554130A
CN105554130A CN201510964891.7A CN201510964891A CN105554130A CN 105554130 A CN105554130 A CN 105554130A CN 201510964891 A CN201510964891 A CN 201510964891A CN 105554130 A CN105554130 A CN 105554130A
Authority
CN
China
Prior art keywords
namenode
data
main
services
described main
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510964891.7A
Other languages
English (en)
Inventor
王向军
杨如意
李双彬
贺欢庆
刘晗
刘亚军
刘仁勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE ICT Technologies Co Ltd
Original Assignee
ZTE ICT Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE ICT Technologies Co Ltd filed Critical ZTE ICT Technologies Co Ltd
Priority to CN201510964891.7A priority Critical patent/CN105554130A/zh
Publication of CN105554130A publication Critical patent/CN105554130A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Abstract

本发明提供了一种基于分布式存储系统的NameNode切换方法和一种基于分布式存储系统的NameNode切换装置,其中,所述方法包括:将主NameNode中的存储数据通过预设数据备份方式备份至从NameNode中,以完成数据同步存储过程;通过所述从NameNode检测所述主NameNode是否停止提供数据服务;根据检测结果确定是否将与所述主NameNode连接的虚拟IP地址切换连接至所述从NameNode。该技术方案,一方面,可以有效地消除现有的基于Hadoop的分布式存储系统的单点故障,提高了系统的可用性;另一方面,当主NameNode出现故障时,可以迅速地切换至备份的NameNode,有效地缩短NameNode服务恢复的时间,使NameNode可以实时提供服务,进而提高分布式存储系统的稳定性。

Description

基于分布式存储系统的NameNode切换方法和切换装置
技术领域
本发明涉及互联网技术领域,具体而言,涉及一种基于分布式存储系统的NameNode切换方法和一种基于分布式存储系统的NameNode切换装置。
背景技术
目前,继云计算后,大数据成为当前科技领域备受关注的新动向,大数据需要有效地处理大量的容忍经过时间内的数据,其中,该数据包括:大规模并行处理(MassiveParallelProcessor,MPP)数据库、数据挖掘电网、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。ApacheHadoop作为一个开源分布式系统基础架构,由Apache基金会开发,用户可以在不了解分布式底层细节的情况下在Hadoop基础上开发分布式程序,进行数据分布式存储,从而可以充分利用集群的威力实现高速运算和存储。但是,在Hadoop大数据存储过程中,由于Hadoop架构的设计存在缺陷,虽然Hadoop为分布式存储,但是由于NameNode(管理文件系统的命名空间)为单节点,NameNode本身就不可避免地具有单点失效的风险,如果NameNode存在故障,则需重启NameNode,使整个Hadoop文件系统HDFS(HadoopDistributedFileSystem,分布式文件系统)无可用性,同时,关闭了NameNode后的数据恢复时间与文件系统大小成正比的关系。
在相关技术中,元数据备份方案利用了Hadoop自身的Failover(失效转移)措施,NameNode可以将元数据信息保存到多个目录。一般的做法是,选择一个本地目录和一个远程目录(通过NFS(NetworkFileSystem,网络文件系统)进行共享),当NameNode发生故障时,可以启动备用机器的NameNode,加载远程目录中的元数据信息,提供服务。当将元数据做了备份且NameNode出现故障恢复服务时,需要重新启动NameNode并手动恢复元数据,且NameNode的恢复时间与文件系统规模成正比。
因此,在NameNode出现故障时,如何缩短NameNode服务恢复时间,使NameNode可以实时提供服务,进而提高基于Hadoop的分布式存储系统的稳定性,成为亟待解决的问题。
发明内容
本发明正是基于上述问题,提出了一种新的技术方案,一方面,可以有效地消除现有的基于Hadoop的分布式存储系统的单点故障,提高了系统的可用性;另一方面,当主NameNode出现故障时,可以迅速地切换至备份的NameNode,有效地缩短NameNode服务恢复的时间,使NameNode可以实时提供服务,进而提高分布式存储系统的稳定性。
有鉴于此,本发明提出了一种基于分布式存储系统的NameNode切换方法,包括:将主NameNode中的存储数据通过预设数据备份方式备份至从NameNode中,以完成数据同步存储过程;通过所述从NameNode检测所述主NameNode是否停止提供数据服务;根据检测结果确定是否将与所述主NameNode连接的虚拟IP地址切换连接至所述从NameNode。
在该技术方案中,通过在基于分布式存储系统中配置两个NameNode,任选其中的一个NameNode为主NameNode,则另一个NameNode为从NameNode,且配置主NameNode和从NameNode共用一个虚拟IP(InternetProtocol,网络之间互连的协议)地址,进而首先将主NameNode中的存储数据通过预设数据备份方式同步备份存储至从NameNode中,使两者中的存储数据完全相同,然后通过从NameNode来检测主NameNode是否在正常提供数据服务,以根据检测结果确定是否将与主NameNode连接的虚拟IP地址切换连接至从NameNode,即先将主NameNode连接至唯一的虚拟IP地址由该主NameNode提供数据服务,如此,一方面,可以有效地消除现有的基于Hadoop的分布式存储系统的单点故障,提高了系统的可用性;另一方面,当主NameNode出现故障时,可以迅速地切换至备份的NameNode,有效地缩短NameNode服务恢复的时间,使NameNode可以实时提供服务,进而提高分布式存储系统的稳定性。
在上述技术方案中,优选地,所述根据检测结果确定是否将与所述主NameNode连接的虚拟IP地址切换连接至所述从NameNode具体包括:在所述检测结果为是时,将与所述主NameNode连接的所述虚拟IP地址切换连接至所述从NameNode,以由所述从NameNode提供数据服务;在所述检测结果为否时,保持所述主NameNode与所述虚拟IP地址的连接状态。
在该技术方案中,当通过从NameNode检测到主NameNode已停止提供数据服务时,则立即将与主NameNode连接的唯一的虚拟IP地址切换连接至从NameNode,以由备份有与主NameNode完全相同的存储数据的从NameNode提供数据服务,否则,继续保持主NameNode与该虚拟IP地址的连接由主NameNode提供数据服务,并继续通过从NameNode检测主NameNode的状态,如此,当主NameNode出现故障时,可以迅速地切换至备份的NameNode,有效地缩短NameNode服务恢复的时间,使NameNode可以实时提供服务,进而提高分布式存储系统的稳定性。
在上述任一技术方案中,优选地,所述通过所述从NameNode检测所述主NameNode是否停止提供数据服务具体包括:判断所述从NameNode连续向所述主NameNode发送通讯包后未接收到来自所述主NameNode的响应通讯包的累计次数是否大于或等于预设次数;在判定所述累计次数大于或等于所述预设次数时,确定所述主NameNode已经停止提供数据服务,否则确定所述主NameNode未停止提供数据服务,其中,所述预设次数为大于或等于3的整数。
在该技术方案中,当通过从NameNode检测主NameNode是否停止提供数据服务时,具体地,由从NameNode向主NameNode连续发送通讯包并接收主NameNode根据接收到的通讯包反馈的响应通讯包,若未接收到响应通讯包则累计次数增加一次,并判断统计的累计次数是否已达到或超过预设次数,在判断结果为是时,可以判定主NameNode出现故障无法正常提供数据服务,则可以将虚拟IP地址切换连接至从NameNode,进而使该系统快速地恢复正常的工作,达到了使NameNode能够实时提供服务的目的,其中,预设次数的取值至少为3,以避免误判。
在上述任一技术方案中,优选地,在所述通过所述从NameNode检测所述主NameNode是否停止提供数据服务之前,还包括:通过Heartbeat建立所述主NameNode和所述从NameNode之间的通信连接,以使所述从NameNode向所述主NameNode发送所述通讯包并接收来自所述主NameNode的所述响应通讯包。
在该技术方案中,为了实现由从NameNode顺利检测主NameNode的状态,则需要预先建立主NameNode和从NameNode之间的通信连接,以实现二者之间的通讯包的传输,具体地可以通过Heartbeat(心跳服务)建立二者之间的通信连接,以实时获取对方的状态,进而通过从NameNode可以及时获知主NameNode是否仍在继续提供数据服务。
在上述任一技术方案中,优选地,所述预设数据备份方式包括:DRBD数据备份方式。
在该技术方案中,优选地通过DRBD(DistributedReplicatedBlockDevice,是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案)数据备份方式将主NameNode中的存储数据同步备份至从NameNode中,进而确保主NameNode无法提供数据服务时可以快速切换至从NameNode提供同样的数据服务。
根据本发明的另一方面,提出了一种基于分布式存储系统的NameNode切换装置,包括:备份模块,用于将主NameNode中的存储数据通过预设数据备份方式备份至从NameNode中,以完成数据同步存储过程;检测模块,用于通过所述从NameNode检测所述主NameNode是否停止提供数据服务;切换模块,用于根据检测结果确定是否将与所述主NameNode连接的虚拟IP地址切换连接至所述从NameNode。
在该技术方案中,通过在基于分布式存储系统中配置两个NameNode,任选其中的一个NameNode为主NameNode,则另一个NameNode为从NameNode,且配置主NameNode和从NameNode共用一个虚拟IP(InternetProtocol,网络之间互连的协议)地址,进而首先通过备份模块将主NameNode中的存储数据通过预设数据备份方式同步备份存储至从NameNode中,使两者中的存储数据完全相同,然后由检测模块通过从NameNode来检测主NameNode是否在正常提供数据服务,以由切换模块根据检测结果确定是否将与主NameNode连接的虚拟IP地址切换连接至从NameNode,即先将主NameNode连接至唯一的虚拟IP地址由该主NameNode提供数据服务,如此,一方面,可以有效地消除现有的基于Hadoop的分布式存储系统的单点故障,提高了系统的可用性;另一方面,当主NameNode出现故障时,可以迅速地切换至备份的NameNode,有效地缩短NameNode服务恢复的时间,使NameNode可以实时提供服务,进而提高分布式存储系统的稳定性。
在上述技术方案中,优选地,所述切换模块具体用于:在所述检测模块检测到的所述检测结果为是时,将与所述主NameNode连接的所述虚拟IP地址切换连接至所述从NameNode,以由所述从NameNode提供数据服务;在所述检测模块检测到的所述检测结果为否时,保持所述主NameNode与所述虚拟IP地址的连接状态。
在该技术方案中,当检测模块通过从NameNode检测到主NameNode已停止提供数据服务时,则切换模块立即将与主NameNode连接的唯一的虚拟IP地址切换连接至从NameNode,以由备份有与主NameNode完全相同的存储数据的从NameNode提供数据服务,否则,继续保持主NameNode与该虚拟IP地址的连接由主NameNode提供数据服务,并继续由检测模块通过从NameNode检测主NameNode的状态,如此,当主NameNode出现故障时,可以迅速地切换至备份的NameNode,有效地缩短NameNode服务恢复的时间,使NameNode可以实时提供服务,进而提高分布式存储系统的稳定性。
在上述任一技术方案中,优选地,所述检测模块具体包括:判断子模块,用于判断所述从NameNode连续向所述主NameNode发送通讯包后未接收到来自所述主NameNode的响应通讯包的累计次数是否大于或等于预设次数;确定子模块,用于在所述判断模块判定所述累计次数大于或等于所述预设次数时,确定所述主NameNode已经停止提供数据服务,否则确定所述主NameNode未停止提供数据服务,其中,所述预设次数为大于或等于3的整数。
在该技术方案中,当检测模块通过从NameNode检测主NameNode是否停止提供数据服务时,具体地,由从NameNode向主NameNode连续发送通讯包并接收主NameNode根据接收到的通讯包反馈的响应通讯包,若未接收到响应通讯包则累计次数增加一次,并通过判断子模块判断统计的累计次数是否已达到或超过预设次数,在判断结果为是时,可以通过确定子模块判定主NameNode出现故障无法正常提供数据服务,则可以通过切换模块将虚拟IP地址切换连接至从NameNode,进而使该系统快速地恢复正常的工作,达到了使NameNode能够实时提供服务的目的,其中,预设次数的取值至少为3,以避免误判。
在上述任一技术方案中,优选地,还包括:创建模块,用于在所述检测模块通过所述从NameNode检测所述主NameNode是否停止提供数据服务之前,通过Heartbeat建立所述主NameNode和所述从NameNode之间的通信连接,以使所述从NameNode向所述主NameNode发送所述通讯包并接收来自所述主NameNode的所述响应通讯包。
在该技术方案中,为了实现由从NameNode顺利检测主NameNode的状态,则需要预先通过创建模块建立主NameNode和从NameNode之间的通信连接,以实现二者之间的通讯包的传输,具体地创建模块可以通过Heartbeat(心跳服务)建立二者之间的通信连接,以实时获取对方的状态,进而通过从NameNode可以及时获知主NameNode是否仍在继续提供数据服务。
在上述任一技术方案中,优选地,所述预设数据备份方式包括:DRBD数据备份方式。
在该技术方案中,优选地备份模块通过DRBD(DistributedReplicatedBlockDevice,是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案)数据备份方式将主NameNode中的存储数据同步备份至从NameNode中,进而确保主NameNode无法提供数据服务时可以快速切换至从NameNode提供同样的数据服务。
通过以上技术方案,一方面,可以有效地消除现有的基于Hadoop的分布式存储系统的单点故障,提高了系统的可用性;另一方面,当主NameNode出现故障时,可以迅速地切换至备份的NameNode,有效地缩短NameNode服务恢复的时间,使NameNode可以实时提供服务,进而提高分布式存储系统的稳定性。
附图说明
图1示出了根据本发明的一个实施例的基于分布式存储系统的NameNode切换方法的流程图;
图2示出了根据本发明的一个实施例的基于分布式存储系统的NameNode切换装置的框图;
图3示出了根据本发明的另一个实施例的基于分布式存储系统的NameNode切换方法的流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的一个实施例的基于分布式存储系统的NameNode切换方法的流程图。
如图1所示,根据本发明的一个实施例的基于分布式存储系统的NameNode切换方法,包括:步骤102,将主NameNode中的存储数据通过预设数据备份方式备份至从NameNode中,以完成数据同步存储过程;步骤104,通过所述从NameNode检测所述主NameNode是否停止提供数据服务;步骤106,根据检测结果确定是否将与所述主NameNode连接的虚拟IP地址切换连接至所述从NameNode。
在该技术方案中,通过在基于分布式存储系统中配置两个NameNode,任选其中的一个NameNode为主NameNode,则另一个NameNode为从NameNode,且配置主NameNode和从NameNode共用一个虚拟IP(InternetProtocol,网络之间互连的协议)地址,进而首先将主NameNode中的存储数据通过预设数据备份方式同步备份存储至从NameNode中,使两者中的存储数据完全相同,然后通过从NameNode来检测主NameNode是否在正常提供数据服务,以根据检测结果确定是否将与主NameNode连接的虚拟IP地址切换连接至从NameNode,即先将主NameNode连接至唯一的虚拟IP地址由该主NameNode提供数据服务,如此,一方面,可以有效地消除现有的基于Hadoop的分布式存储系统的单点故障,提高了系统的可用性;另一方面,当主NameNode出现故障时,可以迅速地切换至备份的NameNode,有效地缩短NameNode服务恢复的时间,使NameNode可以实时提供服务,进而提高分布式存储系统的稳定性。
在上述技术方案中,优选地,所述步骤106具体包括:在所述检测结果为是时,将与所述主NameNode连接的所述虚拟IP地址切换连接至所述从NameNode,以由所述从NameNode提供数据服务;在所述检测结果为否时,保持所述主NameNode与所述虚拟IP地址的连接状态。
在该技术方案中,当通过从NameNode检测到主NameNode已停止提供数据服务时,则立即将与主NameNode连接的唯一的虚拟IP地址切换连接至从NameNode,以由备份有与主NameNode完全相同的存储数据的从NameNode提供数据服务,否则,继续保持主NameNode与该虚拟IP地址的连接由主NameNode提供数据服务,并继续通过从NameNode检测主NameNode的状态,如此,当主NameNode出现故障时,可以迅速地切换至备份的NameNode,有效地缩短NameNode服务恢复的时间,使NameNode可以实时提供服务,进而提高分布式存储系统的稳定性。
在上述任一技术方案中,优选地,所述步骤104具体包括:判断所述从NameNode连续向所述主NameNode发送通讯包后未接收到来自所述主NameNode的响应通讯包的累计次数是否大于或等于预设次数;在判定所述累计次数大于或等于所述预设次数时,确定所述主NameNode已经停止提供数据服务,否则确定所述主NameNode未停止提供数据服务,其中,所述预设次数为大于或等于3的整数。
在该技术方案中,当通过从NameNode检测主NameNode是否停止提供数据服务时,具体地,由从NameNode向主NameNode连续发送通讯包并接收主NameNode根据接收到的通讯包反馈的响应通讯包,若未接收到响应通讯包则累计次数增加一次,并判断统计的累计次数是否已达到或超过预设次数,在判断结果为是时,可以判定主NameNode出现故障无法正常提供数据服务,则可以将虚拟IP地址切换连接至从NameNode,进而使该系统快速地恢复正常的工作,达到了使NameNode能够实时提供服务的目的,其中,预设次数的取值至少为3,以避免误判。
在上述任一技术方案中,优选地,在所述步骤104之前,还包括:通过Heartbeat建立所述主NameNode和所述从NameNode之间的通信连接,以使所述从NameNode向所述主NameNode发送所述通讯包并接收来自所述主NameNode的所述响应通讯包。
在该技术方案中,为了实现由从NameNode顺利检测主NameNode的状态,则需要预先建立主NameNode和从NameNode之间的通信连接,以实现二者之间的通讯包的传输,具体地可以通过Heartbeat(心跳服务)建立二者之间的通信连接,以实时获取对方的状态,进而通过从NameNode可以及时获知主NameNode是否仍在继续提供数据服务。
在上述任一技术方案中,优选地,所述预设数据备份方式包括:DRBD数据备份方式。
在该技术方案中,优选地通过DRBD(DistributedReplicatedBlockDevice,是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案)数据备份方式将主NameNode中的存储数据同步备份至从NameNode中,进而确保主NameNode无法提供数据服务时可以快速切换至从NameNode提供同样的数据服务。
图2示出了根据本发明的一个实施例的基于分布式存储系统的NameNode切换装置的框图。
如图2所示,根据本发明的一个实施例的基于分布式存储系统的NameNode切换装置200,包括:备份模块202、检测模块204和切换模块206。
其中,备份模块202,用于将主NameNode中的存储数据通过预设数据备份方式备份至从NameNode中,以完成数据同步存储过程;检测模块204,用于通过所述从NameNode检测所述主NameNode是否停止提供数据服务;切换模块206,用于根据检测结果确定是否将与所述主NameNode连接的虚拟IP地址切换连接至所述从NameNode。
在该技术方案中,通过在基于分布式存储系统中配置两个NameNode,任选其中的一个NameNode为主NameNode,则另一个NameNode为从NameNode,且配置主NameNode和从NameNode共用一个虚拟IP(InternetProtocol,网络之间互连的协议)地址,进而首先通过备份模块202将主NameNode中的存储数据通过预设数据备份方式同步备份存储至从NameNode中,使两者中的存储数据完全相同,然后由检测模块204通过从NameNode来检测主NameNode是否在正常提供数据服务,以由切换模块206根据检测结果确定是否将与主NameNode连接的虚拟IP地址切换连接至从NameNode,即先将主NameNode连接至唯一的虚拟IP地址由该主NameNode提供数据服务,如此,一方面,可以有效地消除现有的基于Hadoop的分布式存储系统的单点故障,提高了系统的可用性;另一方面,当主NameNode出现故障时,可以迅速地切换至备份的NameNode,有效地缩短NameNode服务恢复的时间,使NameNode可以实时提供服务,进而提高分布式存储系统的稳定性。
在上述技术方案中,优选地,所述切换模块206具体用于:在所述检测模块204检测到的所述检测结果为是时,将与所述主NameNode连接的所述虚拟IP地址切换连接至所述从NameNode,以由所述从NameNode提供数据服务;在所述检测模块204检测到的所述检测结果为否时,保持所述主NameNode与所述虚拟IP地址的连接状态。
在该技术方案中,当检测模块204通过从NameNode检测到主NameNode已停止提供数据服务时,则切换模块206立即将与主NameNode连接的唯一的虚拟IP地址切换连接至从NameNode,以由备份有与主NameNode完全相同的存储数据的从NameNode提供数据服务,否则,继续保持主NameNode与该虚拟IP地址的连接由主NameNode提供数据服务,并继续由检测模块204通过从NameNode检测主NameNode的状态,如此,当主NameNode出现故障时,可以迅速地切换至备份的NameNode,有效地缩短NameNode服务恢复的时间,使NameNode可以实时提供服务,进而提高分布式存储系统的稳定性。
在上述任一技术方案中,优选地,所述检测模块204具体包括:判断子模块2042,用于判断所述从NameNode连续向所述主NameNode发送通讯包后未接收到来自所述主NameNode的响应通讯包的累计次数是否大于或等于预设次数;确定子模块2044,用于在所述判断模块判定所述累计次数大于或等于所述预设次数时,确定所述主NameNode已经停止提供数据服务,否则确定所述主NameNode未停止提供数据服务,其中,所述预设次数为大于或等于3的整数。
在该技术方案中,当检测模块204通过从NameNode检测主NameNode是否停止提供数据服务时,具体地,由从NameNode向主NameNode连续发送通讯包并接收主NameNode根据接收到的通讯包反馈的响应通讯包,若未接收到响应通讯包则累计次数增加一次,并通过判断子模块2042判断统计的累计次数是否已达到或超过预设次数,在判断结果为是时,可以通过确定子模块2044判定主NameNode出现故障无法正常提供数据服务,则可以通过切换模块206将虚拟IP地址切换连接至从NameNode,进而使该系统快速地恢复正常的工作,达到了使NameNode能够实时提供服务的目的,其中,预设次数的取值至少为3,以避免误判。
在上述任一技术方案中,优选地,还包括:创建模块208,用于在所述检测模块204通过所述从NameNode检测所述主NameNode是否停止提供数据服务之前,通过Heartbeat建立所述主NameNode和所述从NameNode之间的通信连接,以使所述从NameNode向所述主NameNode发送所述通讯包并接收来自所述主NameNode的所述响应通讯包。
在该技术方案中,为了实现由从NameNode顺利检测主NameNode的状态,则需要预先通过创建模块208建立主NameNode和从NameNode之间的通信连接,以实现二者之间的通讯包的传输,具体地创建模块208可以通过Heartbeat(心跳服务)建立二者之间的通信连接,以实时获取对方的状态,进而通过从NameNode可以及时获知主NameNode是否仍在继续提供数据服务。
在上述任一技术方案中,优选地,所述预设数据备份方式包括:DRBD数据备份方式。
在该技术方案中,优选地备份模块202通过DRBD(DistributedReplicatedBlockDevice,是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案)数据备份方式将主NameNode中的存储数据同步备份至从NameNode中,进而确保主NameNode无法提供数据服务时可以快速切换至从NameNode提供同样的数据服务。
图3示出了根据本发明的另一个实施例的基于分布式存储系统的NameNode切换方法的流程图。
如图3所示,根据本发明的另一个实施例的基于Hadoop的分布式系统的NameNode切换方法,包括:选择两个NameNode中的一个NameNode为主NameNode,则另一个为从NameNode,并分别对两个NameNode进行配置:配置两个NameNode的设备IP地址,即主NameNode的设备IP地址为192.168.2.1,第一Heartbeat的IP地址为:192.168.1.1,从NameNode的设备IP地址为192.168.2.2,第二Heartbeat的IP地址为:192.168.1.2,并为两个NameNode配置相同的硬件分区以及修改两个NameNode的Hosts文件,数据存储时利用DRBD,将主NameNode上的数据全同步存储至从NameNode,以实现两个NameNode的数据存储同步,只有当两个NameNode数据存储完毕时,才认为存储过程完成。主NameNode和从NameNode之间使用上述HeartBeat相连互相发通讯包,使得主NameNode与从NameNode实时知道对方的状态,两个NameNode共用一个虚拟IP,地址为:192.168.100.1,DataNode与NameNode相连进行交流时,使用虚拟IP通信,完成NameNode备份构建。当主NameNode停止服务时,检测到主NameNode的状态为Down,则立即切换虚拟IP连接至从NameNode,由于DRBD使得两台NameNode数据完全一致,保证了系统无间断服务快速切换至备份NameNode上。
以上结合附图详细说明了本发明的技术方案,考虑到相关技术中,由于当NameNode出现故障时,需要重启NameNode,使NameNode服务恢复的时间较长,导致了基于Hadoop的分布式系统的可用性较差,因此,本发明提供了一种基于的分布式存储系统的NameNode切换方法,一方面,可以有效地消除现有的基于Hadoop的分布式存储系统的单点故障,提高了系统的可用性;另一方面,当主NameNode出现故障时,可以迅速地切换至备份的NameNode,有效地缩短NameNode服务恢复的时间,使NameNode可以实时提供服务,进而提高分布式存储系统的稳定性。
在本发明中,术语“第一”、“第二”仅用于描述的目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于分布式存储系统的NameNode切换方法,其特征在于,包括:
将主NameNode中的存储数据通过预设数据备份方式备份至从NameNode中,以完成数据同步存储过程;
通过所述从NameNode检测所述主NameNode是否停止提供数据服务;
根据检测结果确定是否将与所述主NameNode连接的虚拟IP地址切换连接至所述从NameNode。
2.根据权利要求1所述的基于分布式存储系统的NameNode切换方法,其特征在于,所述根据检测结果确定是否将与所述主NameNode连接的虚拟IP地址切换连接至所述从NameNode具体包括:
在所述检测结果为是时,将与所述主NameNode连接的所述虚拟IP地址切换连接至所述从NameNode,以由所述从NameNode提供数据服务;
在所述检测结果为否时,保持所述主NameNode与所述虚拟IP地址的连接状态。
3.根据权利要求1所述的基于分布式存储系统的NameNode切换方法,其特征在于,所述通过所述从NameNode检测所述主NameNode是否停止提供数据服务具体包括:
判断所述从NameNode连续向所述主NameNode发送通讯包后未接收到来自所述主NameNode的响应通讯包的累计次数是否大于或等于预设次数;
在判定所述累计次数大于或等于所述预设次数时,确定所述主NameNode已经停止提供数据服务,否则确定所述主NameNode未停止提供数据服务,其中,所述预设次数为大于或等于3的整数。
4.根据权利要求3所述的基于分布式存储系统的NameNode切换方法,其特征在于,在所述通过所述从NameNode检测所述主NameNode是否停止提供数据服务之前,还包括:
通过Heartbeat建立所述主NameNode和所述从NameNode之间的通信连接,以使所述从NameNode向所述主NameNode发送所述通讯包并接收来自所述主NameNode的所述响应通讯包。
5.根据权利要求1至4中任一项所述的基于分布式存储系统的NameNode切换方法,其特征在于,所述预设数据备份方式包括:DRBD数据备份方式。
6.一种基于分布式存储系统的NameNode切换装置,其特征在于,包括:
备份模块,用于将主NameNode中的存储数据通过预设数据备份方式备份至从NameNode中,以完成数据同步存储过程;
检测模块,用于通过所述从NameNode检测所述主NameNode是否停止提供数据服务;
切换模块,用于根据检测结果确定是否将与所述主NameNode连接的虚拟IP地址切换连接至所述从NameNode。
7.根据权利要求6所述的基于分布式存储系统的NameNode切换装置,其特征在于,所述切换模块具体用于:
在所述检测模块检测到的所述检测结果为是时,将与所述主NameNode连接的所述虚拟IP地址切换连接至所述从NameNode,以由所述从NameNode提供数据服务;
在所述检测模块检测到的所述检测结果为否时,保持所述主NameNode与所述虚拟IP地址的连接状态。
8.根据权利要求6所述的基于分布式存储系统的NameNode切换装置,其特征在于,所述检测模块具体包括:
判断子模块,用于判断所述从NameNode连续向所述主NameNode发送通讯包后未接收到来自所述主NameNode的响应通讯包的累计次数是否大于或等于预设次数;
确定子模块,用于在所述判断模块判定所述累计次数大于或等于所述预设次数时,确定所述主NameNode已经停止提供数据服务,否则确定所述主NameNode未停止提供数据服务,其中,所述预设次数为大于或等于3的整数。
9.根据权利要求8所述的基于分布式存储系统的NameNode切换装置,其特征在于,还包括:
创建模块,用于在所述检测模块通过所述从NameNode检测所述主NameNode是否停止提供数据服务之前,通过Heartbeat建立所述主NameNode和所述从NameNode之间的通信连接,以使所述从NameNode向所述主NameNode发送所述通讯包并接收来自所述主NameNode的所述响应通讯包。
10.根据权利要求6至9中任一项所述的基于分布式存储系统的NameNode切换装置,其特征在于,所述预设数据备份方式包括:DRBD数据备份方式。
CN201510964891.7A 2015-12-18 2015-12-18 基于分布式存储系统的NameNode切换方法和切换装置 Pending CN105554130A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510964891.7A CN105554130A (zh) 2015-12-18 2015-12-18 基于分布式存储系统的NameNode切换方法和切换装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510964891.7A CN105554130A (zh) 2015-12-18 2015-12-18 基于分布式存储系统的NameNode切换方法和切换装置

Publications (1)

Publication Number Publication Date
CN105554130A true CN105554130A (zh) 2016-05-04

Family

ID=55833062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510964891.7A Pending CN105554130A (zh) 2015-12-18 2015-12-18 基于分布式存储系统的NameNode切换方法和切换装置

Country Status (1)

Country Link
CN (1) CN105554130A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106357787A (zh) * 2016-09-30 2017-01-25 郑州云海信息技术有限公司 一种存储容灾控制系统
CN107590032A (zh) * 2017-09-06 2018-01-16 郑州云海信息技术有限公司 存储集群故障转移的方法及存储集群系统
CN107818027A (zh) * 2017-10-17 2018-03-20 北京京东尚科信息技术有限公司 名字节点主备切换的方法、装置和分布式系统
CN108600308A (zh) * 2018-03-20 2018-09-28 新华三技术有限公司 数据上传方法、装置、存储介质和服务器
CN109165206A (zh) * 2018-08-27 2019-01-08 中科曙光国际信息产业有限公司 基于容器的hdfs高可用实现方法
CN109218386A (zh) * 2018-06-28 2019-01-15 中译语通科技股份有限公司 一种管理Hadoop命名空间的高可用方法
CN109889561A (zh) * 2017-12-25 2019-06-14 新华三大数据技术有限公司 一种数据处理方法及装置
CN110018968A (zh) * 2019-03-29 2019-07-16 联想(北京)有限公司 一种数据读取方法、电子设备及计算机存储介质
CN110217659A (zh) * 2018-03-02 2019-09-10 奥的斯电梯公司 智能视频监控系统
CN116708283A (zh) * 2023-08-08 2023-09-05 珠海派诺科技股份有限公司 一种网络自动切换方法及切换系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004355446A (ja) * 2003-05-30 2004-12-16 Hitachi Ltd クラスタシステム及びその制御方法
CN101667933A (zh) * 2009-10-23 2010-03-10 杭州华三通信技术有限公司 一种安全认证系统及其主备切换方法和设备
CN102882927A (zh) * 2012-08-29 2013-01-16 华南理工大学 一种云存储数据同步框架及其实现方法
CN103546914A (zh) * 2013-10-21 2014-01-29 大唐移动通信设备有限公司 一种hss主备管理的方法及装置
CN103986789A (zh) * 2014-06-05 2014-08-13 浪潮电子信息产业股份有限公司 一种实现基于nfs的hadoop ha集群中nfs节点双机冗余的方法
CN104461792A (zh) * 2014-12-03 2015-03-25 浪潮集团有限公司 一种解决hadoop分布式文件系统namenode单点故障的ha方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004355446A (ja) * 2003-05-30 2004-12-16 Hitachi Ltd クラスタシステム及びその制御方法
CN101667933A (zh) * 2009-10-23 2010-03-10 杭州华三通信技术有限公司 一种安全认证系统及其主备切换方法和设备
CN102882927A (zh) * 2012-08-29 2013-01-16 华南理工大学 一种云存储数据同步框架及其实现方法
CN103546914A (zh) * 2013-10-21 2014-01-29 大唐移动通信设备有限公司 一种hss主备管理的方法及装置
CN103986789A (zh) * 2014-06-05 2014-08-13 浪潮电子信息产业股份有限公司 一种实现基于nfs的hadoop ha集群中nfs节点双机冗余的方法
CN104461792A (zh) * 2014-12-03 2015-03-25 浪潮集团有限公司 一种解决hadoop分布式文件系统namenode单点故障的ha方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106357787A (zh) * 2016-09-30 2017-01-25 郑州云海信息技术有限公司 一种存储容灾控制系统
CN107590032A (zh) * 2017-09-06 2018-01-16 郑州云海信息技术有限公司 存储集群故障转移的方法及存储集群系统
CN107818027A (zh) * 2017-10-17 2018-03-20 北京京东尚科信息技术有限公司 名字节点主备切换的方法、装置和分布式系统
CN107818027B (zh) * 2017-10-17 2021-07-30 北京京东尚科信息技术有限公司 名字节点主备切换的方法、装置和分布式系统
CN109889561A (zh) * 2017-12-25 2019-06-14 新华三大数据技术有限公司 一种数据处理方法及装置
CN110217659A (zh) * 2018-03-02 2019-09-10 奥的斯电梯公司 智能视频监控系统
CN108600308A (zh) * 2018-03-20 2018-09-28 新华三技术有限公司 数据上传方法、装置、存储介质和服务器
CN109218386A (zh) * 2018-06-28 2019-01-15 中译语通科技股份有限公司 一种管理Hadoop命名空间的高可用方法
CN109165206A (zh) * 2018-08-27 2019-01-08 中科曙光国际信息产业有限公司 基于容器的hdfs高可用实现方法
CN109165206B (zh) * 2018-08-27 2022-02-22 中科曙光国际信息产业有限公司 基于容器的hdfs高可用实现方法
CN110018968A (zh) * 2019-03-29 2019-07-16 联想(北京)有限公司 一种数据读取方法、电子设备及计算机存储介质
CN116708283A (zh) * 2023-08-08 2023-09-05 珠海派诺科技股份有限公司 一种网络自动切换方法及切换系统
CN116708283B (zh) * 2023-08-08 2023-10-31 珠海派诺科技股份有限公司 一种网络自动切换方法及切换系统

Similar Documents

Publication Publication Date Title
CN105554130A (zh) 基于分布式存储系统的NameNode切换方法和切换装置
CN105406980B (zh) 一种多节点备份方法及装置
CN107391294B (zh) 一种ipsan容灾系统的建立方法及装置
CN103744809B (zh) 基于vrrp的车辆信息管理系统双机热备方法
WO2019085875A1 (zh) 存储集群的配置修改方法、存储集群及计算机系统
JP6382454B2 (ja) 分散ストレージ及びレプリケーションシステム、並びに方法
CN109151045B (zh) 一种分布式云系统及监控方法
US9641449B2 (en) Variable configurations for workload distribution across multiple sites
CN105159798A (zh) 一种虚拟机的双机热备方法、双机热备管理服务器和系统
CN105471622A (zh) 一种基于Galera的控制节点主备切换的高可用方法及系统
TW201931821A (zh) 用於在分布式系統中使管理能力自恢復的方法和裝置
CN104317803A (zh) 数据库集群的数据存取结构和方法
CN115576655B (zh) 容器数据保护系统、方法、装置、设备及可读存储介质
CN109254876A (zh) 云计算系统中数据库的管理方法和装置
CN112153134A (zh) 一种容灾云主机的容灾演练方法、装置、设备及存储介质
CN105959145B (zh) 一种适用高可用性集群的并行管理服务器的方法及系统
CN113377702B (zh) 两节点集群启动的方法及装置、电子设备和存储介质
CN105490847B (zh) 一种私有云存储系统中节点故障实时检测及处理方法
CN101262479A (zh) 一种网络文件共享的方法、服务器和网络文件共享的系统
CN105323271B (zh) 一种云计算系统以及云计算系统的处理方法和装置
CN117370316A (zh) 数据库的高可用管理方法和装置、电子设备及存储介质
CN112860485A (zh) 基于keepalived的双机热备系统的控制方法
CN103780433B (zh) 自愈式虚拟资源配置管理数据架构
CN107590032A (zh) 存储集群故障转移的方法及存储集群系统
CN112948177A (zh) 一种容灾备份方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160504

RJ01 Rejection of invention patent application after publication