CN109885429A - 大数据灾备方法及装置 - Google Patents
大数据灾备方法及装置 Download PDFInfo
- Publication number
- CN109885429A CN109885429A CN201910124263.6A CN201910124263A CN109885429A CN 109885429 A CN109885429 A CN 109885429A CN 201910124263 A CN201910124263 A CN 201910124263A CN 109885429 A CN109885429 A CN 109885429A
- Authority
- CN
- China
- Prior art keywords
- data
- topic
- backup
- data center
- storage
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明公开了一种大数据灾备方法及装置,所述方法包括:将本数据中心的将待入库数据写入Kafka中间件,将Kafka中间件中的待入库数据备份到另外一个数据中心,接收所述另外一个数据中心发送的灾备数据,并将所述灾备数据写入所述Kafka中间件;在备份完成后,通过Flume将Kafka中间件的待入库数据进行入库。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种大数据灾备方法及装置。
背景技术
对于数据中心的备份,传统的做法是要定期的去执行数据备份脚本,由于是定期执行,备份数据大,备份过程时间比较长,无法进行实时备份,另外,由于数据中心故障,在数据中心恢复后需要手工去定位之前的备份位置,十分麻烦,并且一旦备份位置定位有误还会发生缺少数据或者备份冗余的问题;我们要解决的问题就是在保证人工干预尽可能少的情况下进行备份,并且提高备份的实时性,在故障恢复后自动追回丢失的数据,保持数据一致性、完整性。
具体地,传统灾备在存储层进行数据灾备,例如hdfs,需要定期执行distcp来进行数据同步,备份时间延迟为执行间隔时间和执行时长的和,备份实时性差。另外,传统的数据灾备在其中一个数据中心故障恢复后,故障期间的数据需要人工去定位上次备份的位置,并手动追回故障期间未备份数据,备份数据的一致性有可能会因为恢复人员的误操作遭到破坏,恢复成本高,恢复错误率高。
发明内容
本发明实施例提供一种大数据灾备方法及装置,用以解决现有技术中问题。
本发明实施例提供一种大数据灾备方法,包括:
将本数据中心的将待入库数据写入Kafka中间件,将Kafka中间件中的待入库数据备份到另外一个数据中心,接收所述另外一个数据中心发送的灾备数据,并将所述灾备数据写入所述Kafka中间件;
在备份完成后,通过Flume将Kafka中间件的待入库数据进行入库。
优选地,将Kafka中间件中的待入库数据备份到另外一个数据中心具体包括:
在kafka中间件中为其中存储待入库数据的topic启动Mirror同步数据进程;
通过Mirror同步数据进程自动将待入库数据从kafka中间件的topic中消费出来备份到所述另外一个数据中心,并将另外一个数据中心备份的topic的名称设置为原始的topic名称加上指定后缀;
优选地,接收所述另外一个数据中心发送的灾备数据,并将所述灾备数据写入所述Kafka中间件具体包括:
接收所述另外一个数据中心发送的灾备数据,将另外一个数据中心备份的topic的名称设置为原始的topic名称加上指定后缀,使原始topic和备份topic在两个数据中心的数据总量已经相同。
优选地,通过Mirror同步数据进程自动将待入库数据从kafka中间件的topic中消费出来备份到所述另外一个数据中心具体包括:
通过Mirror同步进程使用kafka中间件原生的待入库数据进行消费,每次消费完保留该topic消费的位置offset。
优选地,所述方法进一步包括:
在其中一个数据中心发生故障的情况下,通过该数据中心的Mirror同步数据进程记录故障点备份的数据位置offset,在故障恢复后,将Mirror同步数据进程启动,Mirror同步数据进程自动在kafka中间件中找到上次消费的位置offset并继续消费。
优选地,在备份完成后,通过Flume将Kafka中间件的待入库数据进行入库具体包括:
通过flume分别消费该数据中心的Kafka中间件中原始topic和备份topic两个topic中的数据,并将两个topic中的数据发往同一个数据目录。
本发明实施例还提供一种大数据灾备装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述方法的步骤。
采用本发明实施例,针对实时性差的问题,在数据入库前进行备份,在此时,数据备份难度低,在数据落地前备份完成,充分提高了备份的时效性;针对故障恢复复杂,在入库前的备份过程中记录备份的位置,每次备份完成后都改变备份位置并保存起来,当故障恢复后,根据故障点的备份位置自动追回故障期间未备份的数据。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例的同城灾备大数据系统数据接入流程图。
具体实施方式
如上所述,传统的灾备方案是在底层例如Hdfs等存储层面进行定期远程distcp备份,实际上跑的就是MapReduce作业,将一个数据中心的数据拷贝到另外一个数据中心里面去。
本发明实施例为了克服现有技术的上述问题,采用Kafka和Flume结合的方式来进行数据备份,在数据落地之前,也就是Kafka中心经数据备份。
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,其基于producer和consumer模式发布订阅消息,充分实现了异步解耦和削峰填谷。另外,由于数据在Kafka中会有留存,所有在Kafka层面实现数据备份方案是可行的。
Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,其可以读取不同类型数据源的数据,例如kafka,并写入到不同的存储中,如Hdfs、Hive、ElasticSearch中。本发明实施例使用Flume解决了从kafka落地过程,不需要去人工写额外的程序,节省人力成本。
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本系统在数据入库前增加Kafka中间件,数据在Kafka中会有留存,我们在Kafka中将数据实时备份,从写入层实现备份,所有数据都要写入Kafka,最终通过Flume将kafka中的数据消费入库。
本发明实施例具体包括如下处理:
1、在Kafka层面做数据备份,在kafka中为其中存储数据的topic启动Mirror同步数据进程,该Mirror同步进程会自动将数据从kafka的topic中消费出来备份到另外一个数据中心,另外一个数据中心备份的topic的名称为原始的topic名称加上指定后缀,例如_mir,在另外一个机楼同样做这种操作,使其可以同样接受业务数据,达到高可用的目的。这样,原始topic和备份topic(在原始topic后面加上指定后缀的topic)在每个数据中心的数据总量已经相同,两个数据中心在数据落地之前已经达到数据一致,并且这些消费操作是实时进行的,备份的数据实时的到达了另外一个机楼,时效性大大提高。
2、Mirror同步进程使用kafka原生的consumer进行消费,每次消费完都会保留该topic消费的位置offset;如果其中一个数据中心故障,那么该数据中心的Mirror进程会记录下故障点备份的数据位置,在故障恢复后,将Mirror同步进程启动,Mirror进程自动在kafka中找到上次消费的位置并继续消费,使故障期间未备份的数据自动同步到本数据中心,从而不需要人为干预的保证原始数据的一致。
3、在每个数据中心使用flume,将数据从kafka中消费出来发送到指定的存储目的地里,例如Hdfs、Hive、ElasticSearch等;在每个数据中心中,flume分别消费该数据中心的原始topic和备份topic两个topic中的数据,并将两个topic中的数据发往同一个数据目录(或数据表、数据索引)中,使最终落地的数据在两个数据中心中保持一致。
综上所述,本发明实施例进行数据实时灾备,通过kafka实时备份两个数据中心的数据,使其在落地之前达到一致性。故障恢复后,数据自动追回,根据kafka消费的位置进行备份数据位置的记录,达到备份位置自动找回,备份数据自动备份。
借助于本发明实施例的技术方案,传统数据在数据备份上实时性差,故障恢复后需要人工去找回丢失数据,而本系统在写入前已经将数据达到实时一致性,并且在故障恢复后,具有自动定位备份位置并追回丢失数据的功能。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种大数据灾备方法,其特征在于,包括:
将本数据中心的将待入库数据写入Kafka中间件,将Kafka中间件中的待入库数据备份到另外一个数据中心,接收所述另外一个数据中心发送的灾备数据,并将所述灾备数据写入所述Kafka中间件;
在备份完成后,通过Flume将Kafka中间件的待入库数据进行入库。
2.如权利要求1所述的方法,其特征在于,将Kafka中间件中的待入库数据备份到另外一个数据中心具体包括:
在kafka中间件中为其中存储待入库数据的topic启动Mirror同步数据进程;
通过Mirror同步数据进程自动将待入库数据从kafka中间件的topic中消费出来备份到所述另外一个数据中心,并将另外一个数据中心备份的topic的名称设置为原始的topic名称加上指定后缀。
3.如权利要求2所述的方法,其特征在于,接收所述另外一个数据中心发送的灾备数据,并将所述灾备数据写入所述Kafka中间件具体包括:
接收所述另外一个数据中心发送的灾备数据,将另外一个数据中心备份的topic的名称设置为原始的topic名称加上指定后缀,使原始topic和备份topic在两个数据中心的数据总量已经相同。
4.如权利要求2所述的方法,其特征在于,通过Mirror同步数据进程自动将待入库数据从kafka中间件的topic中消费出来备份到所述另外一个数据中心具体包括:
通过Mirror同步进程使用kafka中间件原生的待入库数据进行消费,每次消费完保留该topic消费的位置offset。
5.如权利要求4所述的方法,其特征在于,所述方法进一步包括:
在其中一个数据中心发生故障的情况下,通过该数据中心的Mirror同步数据进程记录故障点备份的数据位置offset,在故障恢复后,将Mirror同步数据进程启动,Mirror同步数据进程自动在kafka中间件中找到上次消费的位置offset 并继续消费。
6.如权利要求1所述的方法,其特征在于,在备份完成后,通过Flume将Kafka中间件的待入库数据进行入库具体包括:
通过flume分别消费该数据中心的Kafka中间件中原始topic和备份topic两个topic中的数据,并将两个topic中的数据发往同一个数据目录。
7.一种大数据灾备装置,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的信号测量方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910124263.6A CN109885429A (zh) | 2019-02-18 | 2019-02-18 | 大数据灾备方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910124263.6A CN109885429A (zh) | 2019-02-18 | 2019-02-18 | 大数据灾备方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109885429A true CN109885429A (zh) | 2019-06-14 |
Family
ID=66928611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910124263.6A Pending CN109885429A (zh) | 2019-02-18 | 2019-02-18 | 大数据灾备方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109885429A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112910971A (zh) * | 2021-01-21 | 2021-06-04 | 中国工商银行股份有限公司 | 多站点数据同步方法、装置及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574127A (zh) * | 2015-12-12 | 2016-05-11 | 天津南大通用数据技术股份有限公司 | 分布式数据库系统准实时的双活方法 |
US9430337B1 (en) * | 2016-01-07 | 2016-08-30 | International Business Machines Corporation | Disaster recovery as a dynamic service |
CN107943979A (zh) * | 2017-11-29 | 2018-04-20 | 山东鲁能软件技术有限公司 | 一种数据库之间数据的准实时同步方法及装置 |
CN108984333A (zh) * | 2017-05-31 | 2018-12-11 | 北京京东尚科信息技术有限公司 | 用于大数据实时计算的方法及装置 |
-
2019
- 2019-02-18 CN CN201910124263.6A patent/CN109885429A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574127A (zh) * | 2015-12-12 | 2016-05-11 | 天津南大通用数据技术股份有限公司 | 分布式数据库系统准实时的双活方法 |
US9430337B1 (en) * | 2016-01-07 | 2016-08-30 | International Business Machines Corporation | Disaster recovery as a dynamic service |
CN108984333A (zh) * | 2017-05-31 | 2018-12-11 | 北京京东尚科信息技术有限公司 | 用于大数据实时计算的方法及装置 |
CN107943979A (zh) * | 2017-11-29 | 2018-04-20 | 山东鲁能软件技术有限公司 | 一种数据库之间数据的准实时同步方法及装置 |
Non-Patent Citations (3)
Title |
---|
NEHA NARKHEDE GWEN SHAPIRA TODD PALINO著: "《Kafka权威指南》", 31 January 2018 * |
周明耀: "Apache kafka 工作原理介绍", 《HTTPS://DEVELOPER.IBM.COM/ZH/TECHNOLOGIES/MESSAGING/ARTICLES/OS-CN-KAFKA》 * |
哥不是小萝莉: "使用Flume消费KafKa数据到HDFS", 《HTTPS://WWW.CNBLOGS.COM/SMARTLOLI/P/9984140.HTML》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112910971A (zh) * | 2021-01-21 | 2021-06-04 | 中国工商银行股份有限公司 | 多站点数据同步方法、装置及系统 |
CN112910971B (zh) * | 2021-01-21 | 2023-04-07 | 中国工商银行股份有限公司 | 多站点数据同步方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060294413A1 (en) | Fault tolerant rolling software upgrade in a cluster | |
CA2786165C (en) | Buffer disk in flashcopy cascade | |
US9189348B2 (en) | High availability database management system and database management method using same | |
US20150213100A1 (en) | Data synchronization method and system | |
US20070276884A1 (en) | Method and apparatus for managing backup data and journal | |
US6785838B2 (en) | Method and apparatus for recovering from failure of a mirrored boot device | |
US20150339366A1 (en) | Replication for on-line hot-standby database | |
US20070277012A1 (en) | Method and apparatus for managing backup data and journal | |
US7853571B2 (en) | Techniques for file system recovery | |
CN107844386A (zh) | 一种数据备份、恢复方法及装置 | |
US20110137874A1 (en) | Methods to Minimize Communication in a Cluster Database System | |
CN102857554A (zh) | 基于分布式存储系统进行数据冗余处理方法 | |
CN105117308A (zh) | 一种数据处理方法、装置和系统 | |
CN110941502A (zh) | 消息处理方法、装置、存储介质及设备 | |
CN109710456B (zh) | 一种数据恢复方法及装置 | |
CN106502822A (zh) | 数据读写方法及装置 | |
CN115794499B (zh) | 一种用于分布式块存储集群间双活复制数据的方法和系统 | |
US11392463B2 (en) | Effective backup of data used by multiple nodes executing parallel processing | |
US9612921B2 (en) | Method and system for load balancing a distributed database providing object-level management and recovery | |
US20050154786A1 (en) | Ordering updates in remote copying of data | |
US7698519B2 (en) | Backup of hierarchically structured storage pools | |
CN112181723A (zh) | 一种金融灾备方法、装置、存储介质及电子设备 | |
CN108710646A (zh) | 一种数据同步的方法及装置 | |
WO2020233001A1 (zh) | 双控构架分布式存储系统、数据读取方法、装置和存储介质 | |
CN109885429A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190614 |