CN106777164A - 一种数据迁移集群及数据迁移方法 - Google Patents
一种数据迁移集群及数据迁移方法 Download PDFInfo
- Publication number
- CN106777164A CN106777164A CN201611187177.2A CN201611187177A CN106777164A CN 106777164 A CN106777164 A CN 106777164A CN 201611187177 A CN201611187177 A CN 201611187177A CN 106777164 A CN106777164 A CN 106777164A
- Authority
- CN
- China
- Prior art keywords
- data migration
- cluster
- node
- task
- data
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据迁移集群及数据迁移方法,数据迁移集群分别与第一分布式数据库和第二分布式数据库连接,数据迁移集群为分布式集群,包括集群管理节点和多个集群执行节点,每个集群执行节点与第一分布式数据库的至少一个存储节点部署在一台设备上;集群管理节点,接收由数据迁移工具启动的一个Map任务提交的数据迁移任务,并将数据迁移任务分发给各个集群执行节点;各个集群执行节点,读取与自身部署在一台设备上的存储节点的数据,并将读取的数据存储至第二分布式数据库。本申请提供的数据迁移集群及数据迁移方法使得两个分布式数据库间的数据迁移效率大大提高。
Description
技术领域
本发明涉及数据迁移技术领域,尤其涉及一种数据迁移集群及数据迁移方法。
背景技术
Sqoop,是一款开源的工具,主要用于在Hadoop与传统的数据库(如mysql、postgresql等)间进行数据的传递,可以将一个关系型数据库(例如MySQL、Oracle、Postgres等)中的数据迁移到Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)中,也可以将HDFS的数据导进到关系型数据库中。由于Sqoop与Oozie工作流调度的配合使用非常方便,从而可以与spark、Mr等计算任务进行工作流的高效衔接处理,并且其定义了多种多样的迁移原语,使用方便,因此,Sqoop成为首选的数据迁移工具。
近年来,分布式数据库如MongoDB的使用频率越来越高,由于支持水平扩展、高可用、灵活查询等特性,MongoDB在处理非实时性事务处理的大数据处理方面有着无可比拟的优势,也有越来越多的人将自己的业务数据放在MongoDB中进行保存,因此,随之而来的是,实现MongoDB向HDFS的数据迁移场景越来越多。
目前,实现MongoDB向HDFS进行数据迁移的方案如图1所示:Sqoop启动多个MAP任务,每个MAP任务均需要建立一个与mongoDB主节点的连接,然后再由MongoDB主节点将任务交给MongoDB存储节点进行数据读取,在这种数据迁移方式中,由于多个MAP任务均需要建立与mongoDB主节点的连接,因此,MongoDB主节点会成为数据读取的瓶颈,数据的读取效率较低。
发明内容
有鉴于此,本发明提供了一种数据迁移集群及数据迁移方法,用以解决现有技术中的数据迁移效率较低的问题,其技术方案如下:
一种数据迁移集群,所述数据迁移集群分别与第一分布式数据库和第二分布式数据库连接;
所述数据迁移集群为分布式集群,包括集群管理节点和多个集群执行节点,每个集群执行节点与所述第一分布式数据库的至少一个存储节点部署在一台设备上;
所述集群管理节点,用于接收由数据迁移工具启动的一个Map任务提交的数据迁移任务,并将所述数据迁移任务分发给各个集群执行节点;
所述各个集群执行节点,用于读取与自身部署在一台设备上的存储节点的数据,并将读取的数据存储至所述第二分布式数据库。
其中,所述集群管理节点,还用于监测所述各个集群执行节点对所述数据读取任务的执行情况,并通过所述各个集群执行节点对所述数据迁移任务的执行情况向所述Map任务返回所述数据迁移任务的执行状态信息。
其中,所述集群管理节点,还用于在接收所述Map任务提交的所述数据迁移任务的同时,接收所述Map任务提交的回调地址;
则所述集群管理节点,具体用于基于所述回调地址,通过所述各个集群执行节点对所述数据迁移任务的执行情况,向所述Map任务返回所述数据迁移任务的执行状态信息。
其中,所述集群管理节点,具体用于在将所述数据迁移任务分发给所述各个集群执行节点之后,基于所述回调地址向所述MAP任务返回所述数据迁移任务开始执行的指示信息,以使所述Map任务在接收到所述数据迁移任务开始执行的指示信息时,将自身维护的任务状态信息由任务准备更新为任务执行;
以及,在所述各个集群执行节点对所述数据迁移任务均执行成功时,基于所述回调地址向所述MAP任务返回所述数据迁移任务执行成功的指示信息,以使所述Map任务在接收到所述数据迁移任务执行成功的指示信息时,将所述自身维护的状态信息由所述任务执行更新为任务执行成功;
以及,在所述多个集群执行节点中的至少一个集群执行节点对所述数据迁移任务执行失败时,基于所述回调地址向所述Map任务返回所述数据迁移任务执行失败的指示信息,以使所述Map任务在接收到所述数据迁移任务执行失败的指示信息时,重新向所述集群管理节点提交所述数据迁移任务。
其中,所述集群管理节点,还用于在向所述Map任务返回所述数据迁移任务的执行状态信息之后,判断预设时间内是否接收到所述Map任务对所述执行状态信息的响应信息,如果在所述预设时间内未接收到所述Map任务对所述执行状态信息的响应信息,则启动轮询机制,直至所述Map任务成功接收到所述数据迁移任务的执行状态信息。
一种数据迁移方法,应用于数据迁移集群,所述数据迁移集群分别与第一分布式数据库和第二分布式数据库连接,所述数据迁移集群为分布式集群,包括集群管理节点和多个集群执行节点,每个集群执行节点与所述第一分布式数据库的至少一个存储节点部署在一台设备上;
所述数据迁移方法包括:
所述集群管理节点接收由数据迁移工具启动的一个Map任务提交的数据迁移任务;
所述集群管理节点将所述数据迁移任务分发给各个集群执行节点;
所述各个集群执行节点读取与自身部署在一台设备上的存储节点的数据,并将读取的数据存储至所述第二分布式数据库。
所述数据迁移方法还包括:
所述集群管理节点监测所述各个集群执行节点对所述数据读取任务的执行情况;
所述集群管理节点通过所述各个集群执行节点对所述数据迁移任务的执行情况,向所述Map任务返回所述数据迁移任务的执行状态信息。
所述数据迁移方法还包括:
所述集群管理节点接收所述Map任务提交的回调地址;
则所述集群管理节点通过所述各个集群执行节点对所述数据迁移任务的执行情况,向所述Map任务返回所述数据迁移任务的执行状态信息,包括:
所述集群管理节点基于所述回调地址,通过所述各个集群执行节点对所述数据迁移任务的执行情况,向所述Map任务返回所述数据迁移任务的执行状态信息。
其中,所述集群管理节点基于所述回调地址,通过所述各个集群执行节点对所述数据迁移任务的执行情况,向所述Map任务返回所述数据迁移任务的执行状态信息,包括:
所述集群管理节点在将所述数据迁移任务分发给所述各个集群执行节点之后,基于所述回调地址向所述MAP任务返回所述数据迁移任务开始执行的指示信息,以使所述Map任务在接收到所述数据迁移任务开始执行的指示信息时,将自身维护的任务状态信息由任务准备更新为任务执行;
在所述各个集群执行节点对所述数据迁移任务均执行成功时,所述集群管理节点基于所述回调地址向所述MAP任务返回所述数据迁移任务执行成功的指示信息,以使所述Map任务在接收到所述数据迁移任务执行成功的指示信息时,将所述自身维护的状态信息由所述任务执行更新为任务执行成功;在所述多个集群执行节点中的至少一个集群执行节点对所述数据迁移任务执行失败时,所述集群管理节点基于所述回调地址向所述Map任务返回所述数据迁移任务执行失败的指示信息,以使所述Map任务在接收到所述数据迁移任务执行失败的指示信息时,重新向所述集群管理节点提交所述数据迁移任务。
所述数据迁移方法还包括:
所述集群管理节点在向所述Map任务返回所述数据迁移任务的执行状态信息之后,判断在预设时间内是否接收到所述Map任务对所述执行状态信息的响应信息;
如果在所述预设时间内未接收到所述Map任务对所述执行状态信息的响应信息,则启动轮询机制,直至所述Map任务成功接收到所述数据迁移任务的执行状态信息
上述技术方案具有如下有益效果:
本发明提供的数据迁移集群及数据迁移方法使得,数据迁移工具只需要启动一个Map任务,该Map任务的作用不再是迁移数据,而是向数据迁移集群提交数据迁移任务,数据迁移集群的集群执行节点为分布式执行节点,第一分布式数据库的存储节点为分布式存储节点,通过将集群执行节点与存储节点部署在同一设备上,使得集群执行节点能够读取本地存储节点上的数据,即本发明提供的数据迁移集群可直接操作第一分布式数据库的底层数据而不用通过网络传输数据(即不用走高层协议连接),由于在本地读取数据的效率较高,且多个集群执行节点同时在本地读取数据,因此,数据的读取效率大大提高,相应的,数据迁移的效率大大提高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有技术中由MongoDB向HDFS进行数据迁移的实现方案的示意图;
图2为本发明实施例提供的数据迁移集群的结构示意图;
图3为本发明实施例提供的数据迁移集群在两个分布式数据库间实现数据迁移的示意图;
图4为本发明实施例提供的数据迁移方法的流程示意图;
图5为本发明实施例提供的数据迁移方法中,基于回调地址,通过各个集群执行节点对数据迁移任务的执行情况,向Map任务返回数据迁移任务的执行状态信息的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种数据迁移集群,请参阅图2,示出了该数据迁移集群的结构示意图,该数据迁移集群为分布式集群,该数据迁移集群可以包括集群管理节点和多个集群执行节点。
请参阅图3,示出了本发明实施例提供的数据迁移集群在两个分布式数据库间实现数据迁移的示意图,从图3可以看出,数据迁移集群分别与第一分布式数据库和第二分布式数据库连接。
本实施例中的数据迁移集群具有能够从第一数据库中读取数据的接口,并且,数据迁移集群中每个集群执行节点与第一分布式数据库的至少一个存储节点部署在一台设备上。
集群管理节点,用于接收由数据迁移工具启动的一个Map任务提交的数据迁移任务,并将数据迁移任务分发给各个集群执行节点。
在本实施例中,Map任务不再执行数据迁移,而是将数据迁移任务提交给数据迁移集群中的集群管理节点。
各个集群执行节点,用于读取与自身部署在一台设备上的存储节点的数据,并将读取的数据存储至第二分布式数据库。
在本实施例中,每个集群执行节点与第一分布式数据库的一个存储节点部署在一台设备上,即集群执行节点与存储节点一对一进行部署,当然,也可将一个集群执行节点与多个存储节点部署在同一设备上。需要说明的是,当一个集群执行节点与多个存储节点部署在同一设备上时,由于一个集群执行节点需要读取多个存储节点的数据,为了保证数据的读取效率,存储节点的数量不宜太多。为了使本实施例提供的数据迁移集群具有较高的数据读取效率,集群执行节点与存储节点优选为一对一部署。
本发明实施例提供的数据迁移集群使得,数据迁移工具只需要启动一个Map任务,该Map任务的作用不再是迁移数据,而是向数据迁移集群提交数据迁移任务,数据迁移集群的集群执行节点为分布式执行节点,第一分布式数据库的存储节点为分布式存储节点,通过将集群执行节点与存储节点部署在同一设备上,使得集群执行节点能够读取本地存储节点上的数据,即本发明实施例提供的数据迁移集群可直接操作第一分布式数据库的底层数据而不用通过网络传输数据(即不用走高层协议连接),由于读取本地数据的效率较高,且多个集群执行节点同时读取本地数据,因此,数据的读取效率大大提高,相应的,数据迁移的效率大大提高。
在本发明实施例中,由于数据迁移不再通过Map任务执行,Map任务只是将数据迁移任务提交给数据迁移集群,由数据迁移集群执行数据迁移任务,数据迁移集群在执行数据迁移任务时,Map需要获知数据迁移任务的执行情况,以便决定是否重新向数据迁移集群提交数据迁移任务。
基于上述需求,本发明实施例提供的数据迁移集群中,集群管理节点在将数据读取任务分发给各个集群执行节点之后,实时监测各个集群执行节点对数据读取任务的执行情况,然后通过各个集群执行节点对数据读取任务的执行情况向Map任务返回数据迁移任务的执行状态信息。
可以理解的是,集群管理节点若想向Map任务返回数据迁移任务的执行状态信息,则需要获知Map任务在哪,基于此,在一种可能的实现方式中,Map任务在向数据迁移集群提交数据迁移任务的同时,向数据迁移集群提交回调地址。当集群管理节点需要向Map任务返回数据迁移任务的执行状态信息时,基于该回调地址将数据迁移任务的执行状态信息返回给Map任务。
Map任务维护数据迁移任务的执行状态信息,当Map任务向集群管理节点提交数据迁移任务时,数据迁移任务的执行状态信息为任务准备。
集群管理节点在将数据迁移任务分发给各个集群执行节点之后,通过监测的各个集群执行节点对数据迁移任务的执行情况,基于回调地址向Map任务返回数据迁移任务的执行状态信息,具体的:
集群管理节点在将数据迁移任务分发给各个集群执行节点之后,基于回调地址向Map任务返回数据迁移任务开始执行的指示信息,Map任务在接收到数据迁移任务开始执行的指示信息时,将自身维护的任务状态信息由任务准备更新为任务执行;
当各个集群执行节点对数据迁移任务均执行成功时,集群管理节点基于回调地址向MAP任务返回数据迁移任务执行成功的指示信息,Map任务在接收到数据迁移任务执行成功的指示信息时,将自身维护的状态信息由任务执行更新为任务执行成功。可以理解的是,当Map任务接收到数据迁移任务执行成功的指示信息时,获知其提交给数据迁移集群的数据迁移任务已执行成功,则Map任务成功终止。
在某些时候,可能存在由于某种原因,某个集群执行节点或者某几个集群执行节点读取数据失败的情况,即,多个集群执行节点中的至少一个集群执行节点对数据迁移任务执行失败,此时,集群管理节点基于回调地址向Map任务返回数据迁移任务执行失败的指示信息,Map任务在接收到数据迁移任务执行失败的指示信息时,重新向集群管理节点提交数据迁移任务,集群管理节点重新将数据迁移任务分发给各个集群执行节点进行数据迁移。
在一种可能的实现方式中,Map任务在每次接收到数据迁移任务执行失败的指示信息时,记录截止到当前数据迁移任务执行失败的总次数,并判断数据迁移任务执行失败的总次数是否大于设定次数,如果数据迁移任务执行失败的总次数大于预设次数,则将自身维护的任务状态信息任务执行更新为任务执行失败并退出。
在某些时候可能存在集群管理节点向Map任务返回数据迁移任务的执行状态信息时,由于通信连接断开,导致Map任务无法成功接收到集群管理节点发送的数据迁移任务的执行状态信息的情况。可以想象的是,如果Map任务接收不到数据迁移任务的执行状态信息,将无法获知数据读取任务的执行情况,也就无法获知数据迁移任务是否执行成功,即Map任务将无法得知自身是否需要重新向集群管理节点提交数据迁移任务。
基于上述情况,本发明实施例提供的数据迁移集群中,集群管理节点在向Map任务返回数据迁移任务的执行状态信息之后,判断预设时间内是否接收到Map任务对执行状态信息的响应信息,如果在预设时间内接收到Map任务对执行状态信息的响应信息,则表明Map任务已成功接收到数据迁移任务的执行状态信息,反之,如果在预设时间内未接收到Map任务对执行状态信息的响应信息,则启动轮询机制,直至Map任务成功接收到数据迁移任务的执行状态信息。
所谓轮询机制,即集群管理节点重新向Map任务发送数据迁移任务的执行状态信息,判断在预设时间内接收到Map任务对执行状态信息的响应信息,如果在预设时间内未接收到Map任务对执行状态信息的响应信息,则再次向Map任务发送数据迁移任务的执行状态信息,并判断在预设时间内接收到Map任务对执行状态信息的响应信息,重复上述过程,直至接收到Map任务对执行状态信息的响应信息。
在本发明实施例中,第一分布式数据库可以但不限定为MongoDB,第二分布式数据库可以但不限定为HDFS,数据迁移集群可以但不限为Spark集群,数据迁移工具可以为Sqoop。下面以第一分布式数据库为MongoDB,第二分布式数据库为HDFS,数据迁移集群为Spark集群为例,对数据迁移集群实现数据迁移的过程进行说明:
包括多个Spark管理节点和多个Spark执行节点,每个Spark执行节点与MongoDB的一个MongoDB存储节点部署在同一设备上,且Spark集群具有能够从MongoDB存储节点读取数据的接口。
Sqoop启动一个Map任务,Map任务向Spark集群中的Spark管理节点提交spark数据迁移任务和回调地址,Map任务内部维护一任务状态标识,该任务状态标识初始为“prepare”。
Spark管理节点接收到spark数据迁移任务和回调地址之后,将spark数据迁移任务分发给各个Spark执行节点,然后基于回调地址向Map任务返回spark数据迁移任务开始执行的指示信息,Map任务接收到spark数据迁移任务开始执行的指示信息时,将自身维护的任务状态标识由“prepare”更新为“running”。
各个Spark执行节点在接收到Spark数据迁移任务时,分别在本地读取与自身部署在一起的MongoDB存储节点上的数据,然后将读取的数据写入HDFS。
在各个Spark执行节点执行Spark数据迁移任务时,Spark管理节点实时监测各个Spark执行节点的任务执行情况,如果各个Spark执行节点对于Spark数据迁移任务均执行成功,则表明Spark集群对Spark数据迁移任务执行成功,则Spark管理节点基于回调地址向Map任务返回Spark数据迁移任务执行成功的指示信息,Map任务接收到Spark数据迁移任务执行成功的指示信息时,将自身维护的任务状态标识由“running”更新为“successed”,此时,Map任务终止。
如果多个Spark执行节点中有至少一个Spark执行节点对Spark数据迁移任务未执行成功,则表明Spark集群对Spark数据迁移任务执行失败,则Spark管理节点基于回调地址向Map任务返回Spark数据迁移任务执行失败的指示信息,Map任务接收到Spark数据迁移任务执行失败的指示信息时,重新向Spark管理节点提交Spark数据迁移任务。Map任务在接收到Spark数据迁移任务执行失败的指示信息时,记录截止到当前Spark数据迁移任务执行失败的次数,如果截止到当前Spark数据迁移任务执行失败的次数大于预设次数(例如3次),则将自身维护的任务状态标识由“running”更新为“failed”并退出。
在本实施例,Sqoop只需要启动一个Map任务,该Map任务的作用不再是迁移数据,而是向Spark集群中的Spark管理节点提交Spark数据迁移任务,以及,从Spark管理节点接收Spark数据迁移任务的执行状态信息以获知Spark数据迁移任务的执行情况。本发明实施例通过将Spark集群的Spark执行节点与MongoDB的MongoDB存储节点部署在一起,从而使得Spark执行节点可直接读取本地MongoDB存储节点上的数据,由于直接操作MongoDB底层数据,而需要像现有技术那样走高层协议连接,避免了与MongoDB主节点建立连接的问题,数据的读取效率大大提高,相应的,数据的迁移效率大大提高。
本发明实施例还提供了一种数据迁移方法,该方法应用于数据迁移集群,数据迁移集群分别与第一分布式数据库和第二分布式数据库连接,数据迁移集群为分布式集群,包括集群管理节点和多个集群执行节点,每个集群执行节点与第一分布式数据库的至少一个存储节点部署在一台设备上,请参阅图4,示出了该数据迁移方法的流程示意图,该方法可以包括:
步骤S401:集群管理节点接收由数据迁移工具启动的一个Map任务提交的数据迁移任务。
步骤S402:集群管理节点将数据迁移任务分发给各个集群执行节点。
步骤S403:各个集群执行节点读取与自身部署在一台设备上的存储节点的数据,并将读取的数据存储至第二分布式数据库。
本发明实施例提供的数据迁移方法,当集群管理节点接收到数据迁移任务时,可将数据迁移任务分发给各个分布式集群执行节点,从而使分布式集群执行节点可读取本地分布式存储节点上的数据并将读取的数据迁移至第二分布式数据库,即可直接操作第一分布式数据库的底层数据而不用通过网络传输数据(即不用走高层协议连接),由于读取本地数据的效率较高,且多个集群执行节点同时读取本地数据,因此,数据的读取效率大大提高,相应的,数据迁移的效率大大提高。
在本发明实施例中,由于数据迁移不再通过Map任务执行,Map任务只是将数据迁移任务提交给数据迁移集群,由数据迁移集群执行数据迁移任务,数据迁移集群在执行数据迁移任务时,Map需要获知数据迁移任务的执行情况,以便决定是否重新向数据迁移集群提交数据迁移任务。
基于上述需求,上述实施例提供的数据迁移方法还包括:集群管理节点监测各个集群执行节点对数据读取任务的执行情况;集群管理节点通过各个集群执行节点对数据迁移任务的执行情况向Map任务返回数据迁移任务的执行状态信息。
可以理解的是,若想向Map任务返回数据迁移任务的执行状态信息,则需要获知Map任务在哪,基于此,在一种可能的实现方式中,Map任务在向数据迁移集群提交数据迁移任务的同时,向数据迁移集群提交回调地址。即上述实施例提供的数据迁移方法还可以包括:集群管理节点接收Map任务提交的回调地址。则集群管理节点通过各个集群执行节点对数据迁移任务的执行情况向Map任务返回所述数据迁移任务的执行状态信息,具体为:集群管理节点基于回调地址,通过各个集群执行节点对数据迁移任务的执行情况,向Map任务返回数据迁移任务的执行状态信息。
进一步的,请参阅图5,示出了集群管理节点基于回调地址,通过各个集群执行节点对数据迁移任务的执行情况,向Map任务返回数据迁移任务的执行状态信息的流程示意图,可以包括:
步骤S501:集群管理节点在将数据迁移任务分发给各个集群执行节点之后,基于回调地址向MAP任务返回数据迁移任务开始执行的指示信息,以使Map任务在接收到数据迁移任务开始执行的指示信息时,将自身维护的任务状态信息由任务准备更新为任务执行。
步骤S502a:在各个集群执行节点对数据迁移任务均执行成功时,集群管理节点基于回调地址向MAP任务返回数据迁移任务执行成功的指示信息,以使Map任务在接收到数据迁移任务执行成功的指示信息时,将自身维护的状态信息由任务执行更新为任务执行成功。
步骤S502b:在多个集群执行节点中的至少一个集群执行节点对数据迁移任务执行失败时,集群管理节点基于回调地址向Map任务返回数据迁移任务执行失败的指示信息,以使Map任务在接收到数据迁移任务执行失败的指示信息时,重新向集群管理节点提交数据迁移任务。
在某些时候可能存在集群管理节点向Map任务返回数据迁移任务的执行状态信息时,由于通信连接断开,导致Map任务无法成功接收到数据迁移任务的执行状态信息的情况。可以想象的是,如果Map任务接收不到数据迁移任务的执行状态信息,将一直处于等待状态,其无法获知数据读取任务的执行情况,也无法获知数据迁移任务是否执行成功,即Map任务将无法得知自身是否需要重新向集群管理节点提交数据迁移任务。
基于上述情况,本发明实施例提供的数据方法还可以包括:集群管理节点在向Map任务返回数据迁移任务的执行状态信息之后,判断在预设时间内是否接收到Map任务对执行状态信息的响应信息;如果在预设时间内未接收到Map任务对执行状态信息的响应信息,则启动轮询机制,直至Map任务成功接收到数据迁移任务的执行状态信息。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据迁移集群,其特征在于,所述数据迁移集群分别与第一分布式数据库和第二分布式数据库连接;
所述数据迁移集群为分布式集群,包括集群管理节点和多个集群执行节点,每个集群执行节点与所述第一分布式数据库的至少一个存储节点部署在一台设备上;
所述集群管理节点,用于接收由数据迁移工具启动的一个Map任务提交的数据迁移任务,并将所述数据迁移任务分发给各个集群执行节点;
所述各个集群执行节点,用于读取与自身部署在一台设备上的存储节点的数据,并将读取的数据存储至所述第二分布式数据库。
2.根据权利要求1所述的数据迁移集群,其特征在于,所述集群管理节点,还用于监测所述各个集群执行节点对所述数据读取任务的执行情况,并通过所述各个集群执行节点对所述数据迁移任务的执行情况向所述Map任务返回所述数据迁移任务的执行状态信息。
3.根据权利要求2所述的数据迁移集群,其特征在于,所述集群管理节点,还用于在接收所述Map任务提交的所述数据迁移任务的同时,接收所述Map任务提交的回调地址;
则所述集群管理节点,具体用于基于所述回调地址,通过所述各个集群执行节点对所述数据迁移任务的执行情况,向所述Map任务返回所述数据迁移任务的执行状态信息。
4.根据权利要求3所述的数据迁移集群,其特征在于,所述集群管理节点,具体用于在将所述数据迁移任务分发给所述各个集群执行节点之后,基于所述回调地址向所述MAP任务返回所述数据迁移任务开始执行的指示信息,以使所述Map任务在接收到所述数据迁移任务开始执行的指示信息时,将自身维护的任务状态信息由任务准备更新为任务执行;
以及,在所述各个集群执行节点对所述数据迁移任务均执行成功时,基于所述回调地址向所述MAP任务返回所述数据迁移任务执行成功的指示信息,以使所述Map任务在接收到所述数据迁移任务执行成功的指示信息时,将所述自身维护的状态信息由所述任务执行更新为任务执行成功;
以及,在所述多个集群执行节点中的至少一个集群执行节点对所述数据迁移任务执行失败时,基于所述回调地址向所述Map任务返回所述数据迁移任务执行失败的指示信息,以使所述Map任务在接收到所述数据迁移任务执行失败的指示信息时,重新向所述集群管理节点提交所述数据迁移任务。
5.根据权利要求2至4中任意一项所述的数据迁移集群,其特征在于,所述集群管理节点,还用于在向所述Map任务返回所述数据迁移任务的执行状态信息之后,判断预设时间内是否接收到所述Map任务对所述执行状态信息的响应信息,如果在所述预设时间内未接收到所述Map任务对所述执行状态信息的响应信息,则启动轮询机制,直至所述Map任务成功接收到所述数据迁移任务的执行状态信息。
6.一种数据迁移方法,其特征在于,应用于数据迁移集群,所述数据迁移集群分别与第一分布式数据库和第二分布式数据库连接,所述数据迁移集群为分布式集群,包括集群管理节点和多个集群执行节点,每个集群执行节点与所述第一分布式数据库的至少一个存储节点部署在一台设备上;
所述数据迁移方法包括:
所述集群管理节点接收由数据迁移工具启动的一个Map任务提交的数据迁移任务;
所述集群管理节点将所述数据迁移任务分发给各个集群执行节点;
所述各个集群执行节点读取与自身部署在一台设备上的存储节点的数据,并将读取的数据存储至所述第二分布式数据库。
7.根据权利要求6所述的数据迁移方法,其特征在于,所述数据迁移方法还包括:
所述集群管理节点监测所述各个集群执行节点对所述数据读取任务的执行情况;
所述集群管理节点通过所述各个集群执行节点对所述数据迁移任务的执行情况,向所述Map任务返回所述数据迁移任务的执行状态信息。
8.根据权利要求7所述数据迁移方法,其特征在于,所述数据迁移方法还包括:
所述集群管理节点接收所述Map任务提交的回调地址;
则所述集群管理节点通过所述各个集群执行节点对所述数据迁移任务的执行情况,向所述Map任务返回所述数据迁移任务的执行状态信息,包括:
所述集群管理节点基于所述回调地址,通过所述各个集群执行节点对所述数据迁移任务的执行情况,向所述Map任务返回所述数据迁移任务的执行状态信息。
9.根据权利要求8所述的数据迁移方法,其特征在于,所述集群管理节点基于所述回调地址,通过所述各个集群执行节点对所述数据迁移任务的执行情况,向所述Map任务返回所述数据迁移任务的执行状态信息,包括:
所述集群管理节点在将所述数据迁移任务分发给所述各个集群执行节点之后,基于所述回调地址向所述MAP任务返回所述数据迁移任务开始执行的指示信息,以使所述Map任务在接收到所述数据迁移任务开始执行的指示信息时,将自身维护的任务状态信息由任务准备更新为任务执行;
在所述各个集群执行节点对所述数据迁移任务均执行成功时,所述集群管理节点基于所述回调地址向所述MAP任务返回所述数据迁移任务执行成功的指示信息,以使所述Map任务在接收到所述数据迁移任务执行成功的指示信息时,将所述自身维护的状态信息由所述任务执行更新为任务执行成功;在所述多个集群执行节点中的至少一个集群执行节点对所述数据迁移任务执行失败时,所述集群管理节点基于所述回调地址向所述Map任务返回所述数据迁移任务执行失败的指示信息,以使所述Map任务在接收到所述数据迁移任务执行失败的指示信息时,重新向所述集群管理节点提交所述数据迁移任务。
10.根据权利要求6至9中任意一项所述的数据迁移方法,其特征在于,所述数据迁移方法还包括:
所述集群管理节点在向所述Map任务返回所述数据迁移任务的执行状态信息之后,判断在预设时间内是否接收到所述Map任务对所述执行状态信息的响应信息;
如果在所述预设时间内未接收到所述Map任务对所述执行状态信息的响应信息,则启动轮询机制,直至所述Map任务成功接收到所述数据迁移任务的执行状态信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611187177.2A CN106777164B (zh) | 2016-12-20 | 2016-12-20 | 一种数据迁移集群及数据迁移方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611187177.2A CN106777164B (zh) | 2016-12-20 | 2016-12-20 | 一种数据迁移集群及数据迁移方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106777164A true CN106777164A (zh) | 2017-05-31 |
CN106777164B CN106777164B (zh) | 2020-07-10 |
Family
ID=58896219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611187177.2A Active CN106777164B (zh) | 2016-12-20 | 2016-12-20 | 一种数据迁移集群及数据迁移方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106777164B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832461A (zh) * | 2017-11-28 | 2018-03-23 | 中国银行股份有限公司 | 一种数据迁移方法及系统 |
CN111064789A (zh) * | 2019-12-18 | 2020-04-24 | 北京三快在线科技有限公司 | 数据迁移的方法和系统 |
CN111814435A (zh) * | 2020-07-22 | 2020-10-23 | 济南浪潮数据技术有限公司 | 一种数据库数据传输方法、装置、设备及可读存储介质 |
CN111930715A (zh) * | 2020-07-16 | 2020-11-13 | 北京金山云网络技术有限公司 | 数据迁移方法、装置、计算机设备和存储介质 |
CN112035064A (zh) * | 2020-08-28 | 2020-12-04 | 浪潮云信息技术股份公司 | 一种用于对象存储的分布式迁移方法 |
CN112307128A (zh) * | 2020-11-26 | 2021-02-02 | 中国—东盟信息港股份有限公司 | 一种基于分布式的异构数据同步系统及方法 |
CN113434462A (zh) * | 2021-06-21 | 2021-09-24 | 北京金山云网络技术有限公司 | Hdfs数据的转移方法及装置、存储介质、电子设备 |
CN114202365A (zh) * | 2021-12-15 | 2022-03-18 | 广东电力信息科技有限公司 | 一种基于电力行业营销系统实时数据的监控方法 |
CN115150437A (zh) * | 2022-09-01 | 2022-10-04 | 国汽智控(北京)科技有限公司 | 应用于车辆的自动驾驶系统的节点部署方法、装置及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067501A (zh) * | 2012-12-28 | 2013-04-24 | 广州杰赛科技股份有限公司 | PaaS平台的大数据处理方法 |
CN103092698A (zh) * | 2012-12-24 | 2013-05-08 | 中国科学院深圳先进技术研究院 | 云计算应用自动部署系统及方法 |
CN104239493A (zh) * | 2014-09-09 | 2014-12-24 | 北京京东尚科信息技术有限公司 | 跨集群数据迁移方法和系统 |
-
2016
- 2016-12-20 CN CN201611187177.2A patent/CN106777164B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092698A (zh) * | 2012-12-24 | 2013-05-08 | 中国科学院深圳先进技术研究院 | 云计算应用自动部署系统及方法 |
CN103067501A (zh) * | 2012-12-28 | 2013-04-24 | 广州杰赛科技股份有限公司 | PaaS平台的大数据处理方法 |
CN104239493A (zh) * | 2014-09-09 | 2014-12-24 | 北京京东尚科信息技术有限公司 | 跨集群数据迁移方法和系统 |
Non-Patent Citations (1)
Title |
---|
马明理: ""分布式数据集群系统ZD-DDB的设计与实现"", 《中国优秀硕士学位论文全文数据库-信息科技辑》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832461A (zh) * | 2017-11-28 | 2018-03-23 | 中国银行股份有限公司 | 一种数据迁移方法及系统 |
CN111064789A (zh) * | 2019-12-18 | 2020-04-24 | 北京三快在线科技有限公司 | 数据迁移的方法和系统 |
CN111930715A (zh) * | 2020-07-16 | 2020-11-13 | 北京金山云网络技术有限公司 | 数据迁移方法、装置、计算机设备和存储介质 |
CN111930715B (zh) * | 2020-07-16 | 2024-09-13 | 北京金山云网络技术有限公司 | 数据迁移方法、装置、计算机设备和存储介质 |
CN111814435A (zh) * | 2020-07-22 | 2020-10-23 | 济南浪潮数据技术有限公司 | 一种数据库数据传输方法、装置、设备及可读存储介质 |
CN112035064A (zh) * | 2020-08-28 | 2020-12-04 | 浪潮云信息技术股份公司 | 一种用于对象存储的分布式迁移方法 |
CN112307128A (zh) * | 2020-11-26 | 2021-02-02 | 中国—东盟信息港股份有限公司 | 一种基于分布式的异构数据同步系统及方法 |
CN112307128B (zh) * | 2020-11-26 | 2024-07-16 | 中国—东盟信息港股份有限公司 | 一种基于分布式的异构数据同步系统及方法 |
CN113434462A (zh) * | 2021-06-21 | 2021-09-24 | 北京金山云网络技术有限公司 | Hdfs数据的转移方法及装置、存储介质、电子设备 |
CN114202365A (zh) * | 2021-12-15 | 2022-03-18 | 广东电力信息科技有限公司 | 一种基于电力行业营销系统实时数据的监控方法 |
CN115150437A (zh) * | 2022-09-01 | 2022-10-04 | 国汽智控(北京)科技有限公司 | 应用于车辆的自动驾驶系统的节点部署方法、装置及设备 |
CN115150437B (zh) * | 2022-09-01 | 2022-11-29 | 国汽智控(北京)科技有限公司 | 应用于车辆的自动驾驶系统的节点部署方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106777164B (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106777164A (zh) | 一种数据迁移集群及数据迁移方法 | |
US10691187B2 (en) | Persistent reservations for virtual disk using multiple targets | |
US11816063B2 (en) | Automatic archiving of data store log data | |
US9984140B1 (en) | Lease based leader election system | |
JP5411250B2 (ja) | 冗長データ記憶システムへの指示に従ってのデータ配置 | |
CN104346373B (zh) | 分区日志队列同步管理方法及设备 | |
US11669360B2 (en) | Seamless virtual standard switch to virtual distributed switch migration for hyper-converged infrastructure | |
CN105607954A (zh) | 一种有状态容器在线迁移的方法和装置 | |
US8082344B2 (en) | Transaction manager virtualization | |
CN105765578A (zh) | 分布式文件系统中的数据的并行访问 | |
CN104268001B (zh) | 一种创建虚拟机的方法和创建虚拟机的装置 | |
CN109992206B (zh) | 数据分布存储方法及相关装置 | |
JP2010500673A (ja) | リモート・コピー・データの整合性を保持するストレージ管理システム、(ストレージ管理システム、ストレージ管理方法、およびコンピュータ・プログラム) | |
CN104410531B (zh) | 冗余的系统架构方法 | |
JP2017507415A (ja) | クラウド環境におけるitインフラ管理のための方法とその装置 | |
CN105281949B (zh) | 混合存储模式中主机的隔离方法和隔离装置 | |
CN104182283B (zh) | 一种任务同步方法 | |
CN104468722B (zh) | 一种航管训练系统中训练数据分类存储的方法 | |
CN109739684A (zh) | 基于向量时钟的分布式键值数据库的副本修复方法与装置 | |
CN105975276B (zh) | 分布式构建系统及方法 | |
CN106227470B (zh) | 一种存储资源管理方法及装置 | |
CN110413225A (zh) | 高可靠集群存储双活配置方法、系统、终端及存储介质 | |
CN106293509A (zh) | 数据存储方法及系统 | |
CN108282516A (zh) | 一种基于iSCSI的分布式存储集群负载均衡方法和装置 | |
CN112491592A (zh) | 一种存储资源分组方法、系统、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |