跨集群数据迁移方法和系统技术方案

技术编号:10832350 阅读:129 留言:0更新日期:2014-12-27 17:14
本发明专利技术实施例提供一种跨集群数据迁移方法和系统。通过使源集群的各子节点停止数据操作,以及将源集群的分布式数据库的内存中的数据持久化,能够实现迁移前源集群的分布式数据库中的数据持久化;通过对源集群的分布式数据库中的数据表进行压缩,能够减小数据传送量,将源集群的分布式数据库中的压缩后的数据表迁移至目标集群中,提高了迁移效率;然后通过将迁移前的源集群的分布式数据库中的数据表所占用的存储空间大小及总文件块数,与迁移后的目标集群的数据表占有的存储空间大小和总文件块数进行匹配,能够根据匹配结果验证迁移的完整性。

【技术实现步骤摘要】
跨集群数据迁移方法和系统
本专利技术实施例涉及数据库
,尤其涉及一种跨集群数据迁移方法和系统。
技术介绍
随着互联网应用的发展,用户量的激增,数据存储数量呈指数递增,传统的单库存储技术无法满足海量数据的存取需求,HDFS(HadoopDistributedFileSystem,分布式文件系统)和分布式数据库应用而生。HBase(HadoopDatabase,分布式数据库)是一种可扩展的、面向列存储的分布式数据库,利用HDFS作为文件存储系统,以数据表的形式存储数据,能在普通硬件环境基础上支撑十亿量级行、百万量级列的大型数据表,并支持对这种规模的数据进行随机存储和读取操作。由于具有高可靠性、高可扩展性、支持随机存取以及支持MapReduce(映射化简)并行计算,因此得到了广泛应用。其中,Hadoop是一个由“Apache”基金会开发的分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力实现高速运算和海量数据的存取。实际应用过程中,不可避免地涉及数据迁移,尤其是当线上某个HBase集群需要下线,或者机房维护搬迁的时候,都会面临海量数据迁移的紧迫任务,即把老集群的数据表迁移到新集群中继续为接入业务方提供海量数据存取服务。现有的数据迁移技术,通常采用Hadoop的数据拷贝组件进行分布式拷贝,从而达到将一个集群中的数据表迁移到新集群的目的。当数据拷贝完成后,启动新集群相关服务进程。上述数据迁移技术存在的缺陷在于:无法保证迁移后数据的完整性;迁移耗时严格依赖于迁移数据的规模,导致迁移所用时间很难控制,如果集群间网络带宽有限,同时迁移数据又多,很难保证在短暂的迁移窗口完成迁移工作,也即迁移效率低。
技术实现思路
本专利技术实施例提供一种跨集群数据迁移方法和系统,以确保跨集群数据迁移的完整性和高效性。第一方面,本专利技术实施例提供了一种跨集群数据迁移方法,包括:源集群的主控节点调用停止命令控制源集群的各子节点停止数据操作;源集群的主控节点利用源集群的分布式数据库的清空缓冲区组件,将所述分布式数据库内存中的数据持久化到分布式文件系统HDFS中;源集群的主控节点控制对源集群的分布式数据库所包含的数据表,采用设定的压缩算法进行压缩;源集群的主控节点统计源集群的分布式数据库中的数据表所占用的HDFS的第一存储空间大小及第一总文件块数;源集群的主控节点基于预先获取的目标集群所包含的节点的IP地址与主机名称的映射关系,将源集群中分布式数据库中的数据表迁移至所述目标集群的分布式数据库中;如果获取到源集群的映射化简进程的网页管理界面返回的数据迁移完成消息,则目标集群的主控节点统计目标集群的分布式数据库中的数据表占有的对应的HDFS的第二存储空间大小和第二总文件块数,并将所述第二存储空间大小和第二总文件块数与所述第一存储空间大小和所述第一总文件块数匹配;如果匹配成功,则目标集群的主控节点采用与所述设定的压缩算法对应的解压算法对迁移至目标集群中的数据表进行解压;目标集群的主控节点基于启动策略,启动所述目标集群。第二方面,本专利技术实施例还提供了一种跨集群数据迁移系统,包括源集群和目标集群,所述源集群包括主控节点和至少一个子节点,所述目标集群包括主控节点和至少一个子节点;所述源集群的主控节点包括:停止模块,用于调用停止命令控制源集群的各子节点停止数据操作;持久化模块,用于利用源集群的分布式数据库的清空缓冲区组件,将所述分布式数据库内存中的数据持久化到分布式文件系统HDFS中;压缩模块,用于对源集群的分布式数据库所包含的数据表,采用设定的压缩算法进行压缩;统计模块,用于统计源集群的分布式数据库中的数据表所占用的HDFS的第一存储空间大小及第一总文件块数;迁移模块,用于基于预先获取的目标集群所包含的节点的IP地址与主机名称的映射关系,将源集群中分布式数据库中的数据表迁移至所述目标集群的分布式数据库中;所述目标集群的主控节点包括:统计模块,用于如果获取到源集群的映射化简进程的网页管理界面返回的数据迁移完成消息,则统计目标集群的分布式数据库中的数据表占有的对应的HDFS的第二存储空间大小和第二总文件块数,并将所述第二存储空间大小和第二总文件块数与所述第一存储空间大小和所述第一总文件块数匹配;解压模块,用于如果匹配成功,则采用与所述设定的压缩算法对应的解压算法对迁移至目标集群中的数据表进行解压;启动模块,用于基于启动策略,启动所述目标集群。本专利技术实施例提供的跨集群数据迁移方法和系统,通过使源集群的各子节点停止数据操作,以及将源集群的分布式数据库的内存中的数据持久化,能够实现迁移前源集群的分布式数据库中的数据持久化;通过对源集群的分布式数据库中的数据表进行压缩,能够减小数据传送量,将源集群的分布式数据库中的压缩后的数据表迁移至目标集群中,提高了迁移效率;然后通过将迁移前的源集群的分布式数据库中的数据表所占用的存储空间大小及总文件块数,与迁移后的目标集群的数据表占有的存储空间大小和总文件块数进行匹配,能够根据匹配结果验证迁移的完整性。附图说明为了更清楚地说明本专利技术,下面将对本专利技术中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例一提供的一种跨集群数据迁移方法的流程图;图2为本专利技术实施例三提供的一种跨集群数据迁移方法的流程图;图3a为本专利技术实施例四提供的一种跨集群数据迁移系统中源集群的主控节点的结构示意图;图3b为本专利技术实施例四提供的一种跨集群数据迁移系统中目标集群的主控节点的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施例中的技术方案作进一步详细描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。可以理解的是,此处所描述的具体实施例仅用于解释本专利技术,而非对本专利技术的限定,基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部内容。实施例一请参阅图1,为本专利技术实施例一提供的一种跨集群数据迁移方法的流程图。本专利技术实施例的方法适用于跨集群数据迁移系统,该系统包括源集群和目标集群,所述源集群包括主控节点和至少一个子节点,所述目标集群包括主控节点和至少一个子节点。其中,源集群的主控节点和至少一个子节点形成HDFS,源集群中存储有待迁移的数据表;目标集群的主控节点和至少一个子节点也可形成HDFS,用于迁移存储源集群中的数据表。该方法包括:步骤110、源集群的主控节点调用停止命令控制源集群的各子节点停止数据操作;本步骤具体是通过将源集群的各子节点停止数据操作,使得迁移前各节点中的数据持久化。具体地,可以通知各子节点对应的业务方停止数据写入或者读取操作,然后调用停止命令使源集群的各子节点停止数据操作。当然,也可以直接调用停止命令使源集群的各子节点停止数据操作。步骤120、源集群的主控节点利用源集群的分布式数据库的清空缓冲区组件,将所述分布式数据库内存中的数据持久化到HDFS中;本步骤具体是将源集本文档来自技高网
...
跨集群数据迁移方法和系统

【技术保护点】
一种跨集群数据迁移方法,其特征在于,包括:源集群的主控节点调用停止命令控制源集群的各子节点停止数据操作;源集群的主控节点利用源集群的分布式数据库的清空缓冲区组件,将所述分布式数据库内存中的数据持久化到分布式文件系统HDFS中;源集群的主控节点控制对源集群的分布式数据库所包含的数据表,采用设定的压缩算法进行压缩;源集群的主控节点统计源集群的分布式数据库中的数据表所占用的HDFS的第一存储空间大小及第一总文件块数;源集群的主控节点基于预先获取的目标集群所包含的节点的IP地址与主机名称的映射关系,将源集群中分布式数据库中的数据表迁移至所述目标集群的分布式数据库中;如果获取到源集群的映射化简进程的网页管理界面返回的数据迁移完成消息,则目标集群的主控节点统计目标集群的分布式数据库中的数据表占有的对应的HDFS的第二存储空间大小和第二总文件块数,并将所述第二存储空间大小和第二总文件块数与所述第一存储空间大小和所述第一总文件块数匹配;如果匹配成功,则目标集群的主控节点采用与所述设定的压缩算法对应的解压算法对迁移至目标集群中的数据表进行解压;目标集群的主控节点基于启动策略,启动所述目标集群。

【技术特征摘要】
1.一种跨集群数据迁移方法,其特征在于,包括:源集群的主控节点调用停止命令控制源集群的各子节点停止数据操作;源集群的主控节点利用源集群的分布式数据库的清空缓冲区组件,将所述分布式数据库内存中的数据持久化到分布式文件系统HDFS中;源集群的主控节点对源集群的分布式数据库所包含的数据表,采用设定的压缩算法进行压缩;源集群的主控节点统计源集群的分布式数据库中的数据表所占用的HDFS的第一存储空间大小及第一总文件块数;源集群的主控节点基于预先获取的目标集群所包含的节点的IP地址与主机名称的映射关系,将源集群中分布式数据库中的数据表迁移至所述目标集群的分布式数据库中;如果获取到源集群的映射化简进程的网页管理界面返回的数据迁移完成消息,则目标集群的主控节点统计目标集群的分布式数据库中的数据表占有的对应的HDFS的第二存储空间大小和第二总文件块数,并将所述第二存储空间大小和第二总文件块数与所述第一存储空间大小和所述第一总文件块数匹配;如果匹配成功,则目标集群的主控节点采用与所述设定的压缩算法对应的解压算法对迁移至目标集群中的数据表进行解压;目标集群的主控节点基于启动策略,启动所述目标集群。2.根据权利要求1所述的方法,其特征在于,在源集群的主控节点统计源集群的分布式数据库中的数据表所占用的HDFS的第一存储空间大小及第一总文件块数之前,还包括:源集群的主控节点利用源集群的分布式数据库的完整文件合并组件,清除所述源集群的分布式数据库的磁盘存储空间中符合预设清除策略的数据表。3.根据权利要求2所述的方法,其特征在于,所述预设清除策略包括下述至少一项:将所述源集群的分布式数据库的磁盘存储空间中的带有删除标识的数据表作为待清除的数据表;将所述源集群的分布式数据库的磁盘存储空间中的达到生存时间的数据表作为待清除的数据表;将所述源集群的分布式数据库的磁盘存储空间中的最大版本数大于门限值的数据表作为待清除的数据表。4.根据权利要求2所述的方法,其特征在于,通过调用源集群的分布式数据库命令行接口触发清空缓冲区组件和完整文件合并组件。5.根据权利要求1所述的方法,其特征在于,在目标集群的主控节点采用与所述设定的压缩算法对应的解压算法对迁移至目标集群中的数据表进行解压之前,还包括:目标集群的主控节点调用目标集群中的一致性检测组件,检测目标集群的分布式数据库所包含的数据表的一致性;如果一致,则触发目标集群的主控节点采用与所述设定的压缩算法对应的解压算法对迁移至目标集群中的数据表进行解压。6.根据权利要求1-5任一所述的方法,其特征在于,目标集群的主控节点基于启动策略,启动所述目标集群,包括:目标集群的主控节点调用启动命令启动目标集群;如果目标集群的分布式数据库关联的日志文件中不存在错误日志信息或警告日志信...

【专利技术属性】
技术研发人员:黄刚何洋
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1