CN105554130A - 基于分布式存储系统的NameNode切换方法和切换装置 - Google Patents
基于分布式存储系统的NameNode切换方法和切换装置 Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication 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切换装置。
背景技术
目前,继云计算后,大数据成为当前科技领域备受关注的新动向,大数据需要有效地处理大量的容忍经过时间内的数据,其中,该数据包括:大规模并行处理(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数据备份方式。
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)
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)
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方法 |
-
2015
- 2015-12-18 CN CN201510964891.7A patent/CN105554130A/zh active Pending
Patent Citations (6)
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)
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 |