CN106250432A - 一种基于持久化MQ的hbase容错方法 - Google Patents
一种基于持久化MQ的hbase容错方法 Download PDFInfo
- Publication number
- CN106250432A CN106250432A CN201610593021.8A CN201610593021A CN106250432A CN 106250432 A CN106250432 A CN 106250432A CN 201610593021 A CN201610593021 A CN 201610593021A CN 106250432 A CN106250432 A CN 106250432A
- Authority
- CN
- China
- Prior art keywords
- hbase
- data
- write
- persistence
- fault
- 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
- 238000000034 method Methods 0.000 title claims abstract description 16
- 230000002085 persistent effect Effects 0.000 title abstract 4
- 238000011084 recovery Methods 0.000 claims abstract description 10
- 230000002688 persistence Effects 0.000 claims description 16
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 230000002159 abnormal effect Effects 0.000 abstract description 3
- 238000004519 manufacturing process Methods 0.000 abstract description 3
- 238000012423 maintenance Methods 0.000 abstract 1
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005194 fractionation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- 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/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Hardware Redundancy (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明特别涉及一种基于持久化MQ的hbase容错方法。该基于持久化MQ的hbase容错方法,通过在数据写入HBASE的阶段对其在MQ中进行备份,若HBASE未完成对写操作,对应的写请求便会保存在MQ中,当HBASE重启恢复时,从MQ消息队列中找到未完成操作的数据,重新进行写入即可。该基于持久化MQ的hbase容错方法,解决了HBASE因宕机造成未写入数据丢失的问题,同时将写操作的恢复单独备份在MQ中,与LOG恢复方法分开缩短了HBASE集群在宕机等异常情况发生后的恢复时间,提高了生产环境下容错能力和可靠性,保障了HBASE数据的安全,减少了额外的运维成本。
Description
技术领域
本发明涉及大数据相关NOSQL技术领域,特别涉及一种基于持久化MQ的hbase容错方法。
背景技术
HBASE作为一种基于HADOOP架构体系的NOSQL数据库,已经广泛的应用在各种行业中;HBASE自身带有一套基于LOG的数据容错机制,可以对数据写入过程中出现的服务器宕机、内存溢出、网络故障等造成的异常状况进行记录,并在HBASE集群重启时通过LOG进行恢复。但HBASE的LOG机制的处理过程非常复杂,本身涉及到了拆分以及集群的数据平衡等因素,造成恢复的时间成本非常高,而且LOG的写入有数据量的限制,无法对实时写入的数据进行恢复。
市面上对HBASE的容错和备份都是基于多节点备份或HDFS的数据容灾方式实现的容错思路,本质上是在HBASE发生异常后能够及时进行重启替换为备份节点或防止以写入完成的数据因磁盘故障而造成丢失的问题,并没有考虑未写入数据丢失的情况。
针对上述问题,本发明设计了一种基于持久化MQ的hbase容错方法,对HBASE内部进行简单改进,将HBASE的RPC写入信息在消息队列中进行保存。当集群重启时,从消息队列中进行获取数据并重新写入数据库,既保证了的HBASE的恢复速度,也可以解决未写入数据的丢失问题。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的基于持久化MQ的hbase容错方法。
本发明是通过如下技术方案实现的:
一种基于持久化MQ的hbase容错方法,其特征在于:通过在数据写入HBASE的阶段对其在MQ中进行备份,若HBASE未完成对写操作,对应的写请求便会保存在MQ中,当HBASE重启恢复时,从MQ系统消息队列中找到未完成操作的数据,重新进行写入即可。
本发明基于持久化MQ的hbase容错方法,包括以下步骤:
(1)首先搭建支持持久化的MQ系统;
(2)对HBASE核心部分进行修改,在zookeeper消息接口处进行拦截,对所有的写请求进行拦截,将其加入MQ系统中,之后正常进行HBASE的后续过程;
(3)拦截HBASE异步操作的后续过程,根据当前成功完成的操作内容,从MQ系统中删除之前的加入的请求;
(4)修改HBASE的启动部分,在HBASE的LOG SPLIT操作之后增加额外操作,启动新的进程,从MQ系统消息队列中获取未完成操作的数据,通过HBASE客户端重新写入,完成操作。
所述步骤(2)中,写请求包括PUT请求和DELETE请求。
本发明的有益效果是:该基于持久化MQ的hbase容错方法,解决了HBASE因宕机造成未写入数据丢失的问题,同时将写操作的恢复单独备份在MQ中,与LOG恢复方法分开缩短了HBASE集群在宕机等异常情况发生后的恢复时间,提高了生产环境下容错能力和可靠性,保障了HBASE数据的安全,减少了额外的运维成本。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该基于持久化MQ的hbase容错方法,通过在数据写入HBASE的阶段对其在MQ中进行备份,若HBASE未完成对写操作,对应的写请求便会保存在MQ中,当HBASE重启恢复时,从MQ系统消息队列中找到未完成操作的数据,重新进行写入即可。
该基于持久化MQ的hbase容错方法,包括以下步骤:
(1)首先搭建支持持久化的MQ系统,可以是kafka、rocketmq、activemq等;
(2)对HBASE核心部分进行修改,在zookeeper消息接口处进行拦截,对所有的写请求进行拦截(包括PUT、DELETE),将其加入MQ系统中,之后正常进行HBASE的后续过程;
(3)拦截HBASE异步操作的后续过程,根据当前成功完成的操作内容,从MQ系统中删除之前的加入的请求;
(4)修改HBASE的启动部分,在HBASE的LOG SPLIT操作之后增加额外操作,启动新的进程,从MQ系统消息队列中获取未完成操作的数据,通过HBASE客户端重新写入,完成操作。
该基于持久化MQ的hbase容错方法,解决了HBASE因宕机造成的未写入数据丢失问题,同时将写操作的恢复单独备份在MQ中,与LOG恢复方法分开缩短了HBASE集群在宕机等异常情况发生后的恢复时间,提高了生产环境下容错能力和可靠性,保障了HBASE数据的安全,减少了额外的运维成本。
Claims (3)
1.一种基于持久化MQ的hbase容错方法,其特征在于:通过在数据写入HBASE的阶段对其在MQ中进行备份,若HBASE未完成对写操作,对应的写请求便会保存在MQ中,当HBASE重启恢复时,从MQ系统消息队列中找到未完成操作的数据,重新进行写入即可。
2.根据权利要求1所述的基于持久化MQ的hbase容错方法,其特征在于包括以下步骤:
(1)首先搭建支持持久化的MQ系统;
(2)对HBASE核心部分进行修改,在zookeeper消息接口处进行拦截,对所有的写请求进行拦截,将其加入MQ系统中,之后正常进行HBASE的后续过程;
(3)拦截HBASE异步操作的后续过程,根据当前成功完成的操作内容,从MQ系统中删除之前的加入的请求;
(4)修改HBASE的启动部分,在HBASE的LOG SPLIT操作之后增加额外操作,启动新的进程,从MQ系统消息队列中获取未完成操作的数据,通过HBASE客户端重新写入,完成操作。
3.根据权利要求2所述的基于持久化MQ的hbase容错方法,其特征在于:所述步骤(2)中,写请求包括PUT请求和DELETE请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610593021.8A CN106250432A (zh) | 2016-07-26 | 2016-07-26 | 一种基于持久化MQ的hbase容错方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610593021.8A CN106250432A (zh) | 2016-07-26 | 2016-07-26 | 一种基于持久化MQ的hbase容错方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106250432A true CN106250432A (zh) | 2016-12-21 |
Family
ID=57603645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610593021.8A Pending CN106250432A (zh) | 2016-07-26 | 2016-07-26 | 一种基于持久化MQ的hbase容错方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106250432A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704244A (zh) * | 2019-09-29 | 2020-01-17 | 苏州浪潮智能科技有限公司 | 一种磁盘离线处理方法、装置、设备及可读存储介质 |
CN112311812A (zh) * | 2020-11-20 | 2021-02-02 | 北京百家科技集团有限公司 | 一种服务系统、方法、装置、计算机设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103379021A (zh) * | 2012-04-24 | 2013-10-30 | 中兴通讯股份有限公司 | 实现分布式消息队列的方法及系统 |
CN103986694A (zh) * | 2014-04-23 | 2014-08-13 | 清华大学 | 分布式计算机数据存储系统中多副本一致性的控制方法 |
CN104424283A (zh) * | 2013-08-30 | 2015-03-18 | 阿里巴巴集团控股有限公司 | 一种数据迁移的系统和数据迁移的方法 |
CN104657502A (zh) * | 2015-03-12 | 2015-05-27 | 浪潮集团有限公司 | 基于Hadoop对海量数据进行实时统计的系统和方法 |
CN104679888A (zh) * | 2015-03-17 | 2015-06-03 | 浪潮集团有限公司 | 一种数据同步的装置及方法 |
CN104820670A (zh) * | 2015-03-13 | 2015-08-05 | 国家电网公司 | 一种电力信息大数据的采集和存储方法 |
CN105608223A (zh) * | 2016-01-12 | 2016-05-25 | 北京中交兴路车联网科技有限公司 | 针对kafka的Hbase数据库的入库方法和系统 |
-
2016
- 2016-07-26 CN CN201610593021.8A patent/CN106250432A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103379021A (zh) * | 2012-04-24 | 2013-10-30 | 中兴通讯股份有限公司 | 实现分布式消息队列的方法及系统 |
CN104424283A (zh) * | 2013-08-30 | 2015-03-18 | 阿里巴巴集团控股有限公司 | 一种数据迁移的系统和数据迁移的方法 |
CN103986694A (zh) * | 2014-04-23 | 2014-08-13 | 清华大学 | 分布式计算机数据存储系统中多副本一致性的控制方法 |
CN104657502A (zh) * | 2015-03-12 | 2015-05-27 | 浪潮集团有限公司 | 基于Hadoop对海量数据进行实时统计的系统和方法 |
CN104820670A (zh) * | 2015-03-13 | 2015-08-05 | 国家电网公司 | 一种电力信息大数据的采集和存储方法 |
CN104679888A (zh) * | 2015-03-17 | 2015-06-03 | 浪潮集团有限公司 | 一种数据同步的装置及方法 |
CN105608223A (zh) * | 2016-01-12 | 2016-05-25 | 北京中交兴路车联网科技有限公司 | 针对kafka的Hbase数据库的入库方法和系统 |
Non-Patent Citations (1)
Title |
---|
CHEN ZHANG AND XUE LIU: ""HBaseMQ: A Distributed Message Queuing System on Clouds with HBase"", 《2013 PROCEEDINGS IEEE INFOCOM》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704244A (zh) * | 2019-09-29 | 2020-01-17 | 苏州浪潮智能科技有限公司 | 一种磁盘离线处理方法、装置、设备及可读存储介质 |
CN110704244B (zh) * | 2019-09-29 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种磁盘离线处理方法、装置、设备及可读存储介质 |
CN112311812A (zh) * | 2020-11-20 | 2021-02-02 | 北京百家科技集团有限公司 | 一种服务系统、方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7627728B1 (en) | System and method for efficient generation of application snapshots | |
US9098439B2 (en) | Providing a fault tolerant system in a loosely-coupled cluster environment using application checkpoints and logs | |
US8874508B1 (en) | Systems and methods for enabling database disaster recovery using replicated volumes | |
TWI554875B (zh) | 基於資源存取模式預測、診斷應用程式故障並從應用程式故障恢復 | |
US20110213753A1 (en) | Systems and Methods for Managing Application Availability | |
US9098454B2 (en) | Speculative recovery using storage snapshot in a clustered database | |
US10565071B2 (en) | Smart data replication recoverer | |
US11221927B2 (en) | Method for the implementation of a high performance, high resiliency and high availability dual controller storage system | |
WO2014206581A1 (en) | Replication for on-line hot-standby database | |
CN104427002A (zh) | 集群系统及用于在集群系统中提供服务可用性的方法 | |
CN103516736A (zh) | 分布式缓存系统的数据恢复方法及装置 | |
WO2016061956A1 (zh) | 分布式文件系统的数据处理方法及分布式文件系统 | |
US7373542B2 (en) | Automatic startup of a cluster system after occurrence of a recoverable error | |
US7823153B1 (en) | System and method for detecting and logging in-line synchronization primitives in application program code | |
CN108469996A (zh) | 一种基于自动快照的系统高可用方法 | |
US9195528B1 (en) | Systems and methods for managing failover clusters | |
WO2017014814A1 (en) | Replicating memory volumes | |
CN111708488A (zh) | 一种基于分布式内存盘的Ceph性能优化的方法和设备 | |
CN106250432A (zh) | 一种基于持久化MQ的hbase容错方法 | |
CN103297264A (zh) | 一种云平台故障恢复方法和系统 | |
CN109582497A (zh) | 一种基于动态数据增量快速应急启动方法 | |
US11226875B2 (en) | System halt event recovery | |
CN105871987A (zh) | 数据写入的高可用系统及方法 | |
CN115408039A (zh) | 一种超融合系统的虚拟机系统升级不中断控制方法及系统 | |
CN105988885A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161221 |