CN110532123A - HBase***的故障转移方法及装置 - Google Patents

HBase***的故障转移方法及装置 Download PDF

Info

Publication number
CN110532123A
CN110532123A CN201910817715.9A CN201910817715A CN110532123A CN 110532123 A CN110532123 A CN 110532123A CN 201910817715 A CN201910817715 A CN 201910817715A CN 110532123 A CN110532123 A CN 110532123A
Authority
CN
China
Prior art keywords
node
table fragment
new data
fragment
file
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
Application number
CN201910817715.9A
Other languages
English (en)
Other versions
CN110532123B (zh
Inventor
张洸豪
张铎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201910817715.9A priority Critical patent/CN110532123B/zh
Priority to US16/694,698 priority patent/US11249854B2/en
Priority to EP19212579.7A priority patent/EP3786802B1/en
Publication of CN110532123A publication Critical patent/CN110532123A/zh
Application granted granted Critical
Publication of CN110532123B publication Critical patent/CN110532123B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Abstract

本公开提供一种HBase***的故障转移方法及装置。所述方法应用于HBase***中第一工作节点,所述方法包括:获取HBase***中管理节点发送的预写日志***WAL文件,WAL文件包括:HBase***中第二工作节点发生故障时内部多个表分片的WAL文件,在自身节点内存中拆分WAL文件,得到各表分片的WAL文件,根据自身节点内存中各表分片的WAL文件,确定在故障发生时第二工作节点内存中各表分片的更新数据,将各表分片的更新数据写入自身节点硬盘中,实现了第二工作节点内存中表分片的更新数据的转移和持久化存储,避免了第二工作节点发生故障时内存中数据的丢失。

Description

HBase***的故障转移方法及装置
技术领域
本公开涉及计算机通信技术领域,尤其涉及一种HBase***的故障转移方法及装置。
背景技术
HBase是开源的分布式数据库,提供的服务部署在多个节点上,多个节点组成分布式集群,该分布式集群又称为HBase***。基于提供的服务类型不同,HBase***包括:管理节点和工作节点,其中,管理节点用于对工作节点的表分片信息进行管理,工作节点用于接收请求端发送的读写请求,并根据读写请求对表分片的表数据进行修改。
工作节点在接收到请求端发送的读写请求后,在内存中根据读写请求对表分片的表数据进行修改,得到更新数据,当内存中的数据量达到预设值时,将内存中的更新数据写入自身硬盘中。
当工作节点发生故障时,在该工作节点内存中的数据量未达到预设值的情形下,内存中的更新数据未写入硬盘中,出现内存中更新数据丢失。
发明内容
有鉴于此,本公开提供一种HBase***的故障转移方法,通过在第一工作节点内存中拆分第二工作节点的WAL文件、直接根据经拆分得到的各表分片的WAL文件,确定在故障发生时第二工作节点内存中各表分片的更新数据,将各表分片的更新数据写入第一工作节点的硬盘中,实现了第二工作节点内存中表分片的更新数据的转移和持久化存储,避免了第二工作节点发生故障时内存中数据的丢失。
根据本公开实施例的第一方面,提供了一种HBase***的故障转移方法,应用于所述HBase***中第一工作节点,所述方法包括:
获取所述HBase***中管理节点发送的预写日志***WAL文件,所述WAL文件包括:所述HBase***中第二工作节点发生故障时内部多个表分片的WAL文件;
在自身节点内存中拆分所述WAL文件,得到各所述表分片的WAL文件;
根据所述自身节点内存中各所述表分片的WAL文件,确定在所述故障发生时所述第二工作节点内存中各所述表分片的更新数据;
将各所述表分片的更新数据写入所述自身节点硬盘中。
可选地,所述将各所述表分片的更新数据写入所述自身节点硬盘中,包括:
针对每个所述表分片的更新数据,对所述表分片的更新数据进行格式转换,得到HFile存储格式的数据;
将所述HFile存储格式的数据写入所述自身节点的硬盘中所述表分片的HFile文件中。
可选地,所述方法还包括:
将各所述表分片的更新数据发送给所述HBase***中其他工作节点进行备份。
可选地,所述方法还包括:
在各所述表分片的更新数据写入所述自身节点的硬盘中且备份至所述其他工作节点后,向外提供所述表分片的读写服务。
可选地,所述方法还包括:
在各所述表分片的更新数据写入所述自身节点的硬盘中且备份至所述其他工作节点后,向所述管理节点发送所述表分片的数据转移结束的通知。
根据本公开实施例的第二方面,提供了一种HBase***的故障转移装置,、应用于所述HBase***中第一工作节点,所述装置包括:
获取模块,被配置为获取所述HBase***中管理节点发送的预写日志***WAL文件,所述WAL文件包括:所述HBase***中第二工作节点发生故障时内部多个表分片的WAL文件;
拆分模块,被配置为在自身节点内存中拆分所述WAL文件,得到各所述表分片的WAL文件;
确定模块,被配置为根据所述自身节点内存中各所述表分片的WAL文件,确定在所述故障发生时所述第二工作节点内存中各所述表分片的更新数据;
写入模块,被配置为将各所述表分片的更新数据写入所述自身节点硬盘中。
可选地,所述写入模块,包括:
格式转换子模块,被配置为针对每个所述表分片的更新数据,对所述表分片的更新数据进行格式转换,得到HFile存储格式的数据;
写入子模块,被配置为将所述HFile存储格式的数据写入所述自身节点的硬盘中所述表分片的HFile文件中。
可选地,所述装置还包括:
发送模块,被配置为将各所述表分片的更新数据发送给所述HBase***中其他工作节点进行备份。
可选地,所述装置还包括:
服务模块,被配置为在各所述表分片的更新数据写入所述自身节点的硬盘中且备份至所述其他工作节点后,向外提供所述表分片的读写服务。
可选地,所述装置还包括:
通知模块,被配置为在各所述表分片的更新数据写入所述自身节点的硬盘中且备份至所述其他工作节点后,向所述管理节点发送所述表分片的数据转移结束的通知。
根据本公开实施例的第三方面,提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述方法的步骤。
根据本公开实施例的第四方面,提供了一种HBase***的故障转移装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取所述HBase***中管理节点发送的预写日志***WAL文件,所述WAL文件包括:所述HBase***中第二工作节点发生故障时内部多个表分片的WAL文件;
在自身节点内存中拆分所述WAL文件,得到各所述表分片的WAL文件;
根据所述自身节点内存中各所述表分片的WAL文件,确定在所述故障发生时所述第二工作节点内存中各所述表分片的更新数据;
将各所述表分片的更新数据写入所述自身节点硬盘中。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开中,通过获取HBase***中管理节点发送的WAL文件,在自身节点内存中拆分WAL文件,得到各表分片的WAL文件,并根据自身节点内存中各表分片的WAL文件,确定在故障发生时第二工作节点内存中各表分片的更新数据,之后将各表分片的更新数据写入自身节点硬盘中,实现了第二工作节点内存中表分片的更新数据的转移和持久化存储,避免了第二工作节点发生故障时内存中数据的丢失。
本方案仅包括将各表分片的更新数据写入自身节点硬盘中一次写盘操作,读写盘操作的总次数少,读写盘操作的总耗时短,使得本方案具有故障转移速度快、故障恢复时间短、服务可用性高等优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
图1是根据一示例性实施例示出的一种HBase***的故障转移方法流程图;
图2是根据一示例性实施例示出的另一种HBase***的故障转移方法流程图;
图3是根据一示例性实施例示出的另一种HBase***的故障转移方法流程图;
图4是根据一示例性实施例示出的另一种HBase***的故障转移方法流程图;
图5是根据一示例性实施例示出的一种HBase***的故障转移装置框图;
图6是根据一示例性实施例示出的另一种HBase***的故障转移装置框图;
图7是根据一示例性实施例示出的另一种HBase***的故障转移装置框图;
图8是根据一示例性实施例示出的另一种HBase***的故障转移装置框图;
图9是根据一示例性实施例示出的另一种用于HBase***的故障转移装置的一结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本公开提供了一种发送消息的方法,可应用于终端中,该终端具有发送信息的功能,终端可以是手机、平板电脑、个人数字助理等。
图1根据一示例性实施例示出的一种HBase***的故障转移方法流程图,图1所示的方法应用于HBase***中第一工作节点,图1所示的HBase***的故障转移方法包括以下步骤:
在步骤101中,获取HBase***中管理节点发送的WAL(Write-Ahead Logging,预写日志***)文件,WAL文件包括:HBase***中第二工作节点发生故障时内部多个表分片的WAL文件。
HBase***包括管理节点(又称Master)和工作节点(又称Region Server),管理节点的数量为一个或多个,通常情况下,一个管理节点管理多个工作节点的表分片信息。
表分片是通过划分表得到的,一个表可以划分为多个表分片,在分布式HBase***中,一个表的多个表分片存储在不同工作节点上,一个工作节点可以存有源自多个表的多个表分片。表分片信息有多种,例如表分片的存储地址、表分片的名称、表分片所属的表名称等。
一个工作节点设有一个WAL文件,该WAL文件用于记录工作节点内各表分片内数据的修改日志。工作节点在接收到请求端发送的读写请求后,根据该读写请求在自身节点的WAL文件中生成修改日志,并在内存中基于读写请求对表分片的表数据进行修改,得到表分片的更新数据,将更新数据写入自身硬盘中。工作节点的WAL文件会整体备份到其他设备上,其他设备可以包括HBase***中的其他工作节点。
本申请实施例中,工作节点至少包括第一工作节点和第二工作节点,管理节点对第一工作节点和第二工作节点进行表分片信息管理,其中,第二工作节点为发生故障的工作节点,第一工作节点为用于转移并持久化第二工作节点内表数据的节点。管理节点在确定第二工作节点发生故障后,可以从其他设备中获取该第二工作节点的WAL文件备份,将WAL文件备份发送给第一工作节点。
第一工作节点可以是第二工作节点发生故障时管理服务器临时分配的节点,或者,可以预先建立第一工作节点和第二工作节点的配合关系,当第二工作节点发生故障时,通过查找配合关系,确定与第二工作节点对应的第一工作节点。
在步骤102中,在自身节点内存中拆分WAL文件,得到各表分片的WAL文件。
通常情况下,第二工作节点存有多个表分片,第二工作节点的WAL文件包括多个表分片的WAL文件,第一工作节点在获取第二工作节点的WAL文件后,会对第二工作节点的WAL文件进行拆分,得到多个表分片的WAL文件。
拆分WAL文件的方式有多种,例如,不同表分片的WAL文件配置的标识不同,可以通过识别WAL文件配置的标识,从第二工作节点的WAL文件中,拆分出不同表分片的WAL文件。使用的标识有多种,例如,WAL文件名称、WAL文件编号、表分片属于的表名称等。
在步骤103中,根据自身节点内存中各表分片的WAL文件,确定在故障发生时第二工作节点内存中各表分片的更新数据。
第一工作节点在内存中完成WAL文件拆分,得到各表分片的WAL文件后,根据自身节点内存中各表分片的WAL文件,确定在故障发生时第二工作节点内存中各表分片的更新数据。在第一工作节点内存中得到的多个表分片的WAL文件不被写入第一工作节点硬盘中,而是直接在第一工作节点内存中被读取使用。
实现中,针对每个表分片,可以根据表分片的WAL文件中的修改日志,在内存中重新执行一遍该表分片的修改过程,执行结束后,得到在故障发生时第二工作节点内存中该表分片的更新数据。
在步骤104中,将各表分片的更新数据写入自身节点硬盘中。
第一工作节点确定在故障发生时第二工作节点内存中各表分片的更新数据之后,将各表分片的更新数据写入自身节点硬盘中,从而实现了第二工作节点内存中表分片的更新数据的转移和持久化存储,避免了第二工作节点发生故障时内存中数据的丢失。
本实施例提供的方案仅包括将各表分片的更新数据写入自身节点硬盘中一次写盘操作,读写盘操作的总次数少,读写盘操作的总耗时短,使得本方案具有故障转移速度快、故障恢复时间短、服务可用性高等优点。
在一个可选的实施例中,参照图2是根据一示例性实施例示出的另一种HBase***的故障转移方法流程图,将本步骤可以通过以下方式实现:在步骤1041中,针对每个表分片的更新数据,对表分片的更新数据进行格式转换,得到HFile存储格式的数据;在步骤1042中,将HFile存储格式的数据写入自身节点的硬盘中表分片的HFile文件中。
针对步骤1041,硬盘中数据存储在HFile文件中,HFile文件的数据格式为HFile存储格式。在数据写入硬盘之前,需要将数据进行格式转换,得到HFile存储格式的数据。
针对步骤1042,HFile为HBase中的数据文件,拥有自己的数据存储格式。
硬盘中表分片的HFile文件的来源多种,例如,硬盘中原有的文件,或者,根据HFile存储格式的数据新生成的文件。
当HFile文件是硬盘中原有的文件时,步骤1042的实现方式有多种,例如,第一种方式:基于表分片的更新数据得到的HFile格式的数据可以携带该表分片的标识,硬盘中该表分片的HFile文件可以携带该表分片的标识,可以通过匹配HFile格式的数据携带的标识和硬盘中HFile文件携带的标识,查找携带相同标识的HFile文件,将该HFile格式的数据写入携带相同标识的HFile文件中。
又如,第二种方式:第一工作节点通过管理节点获取第二工作节点中该表分片的HFile文件的存储地址,之后根据该存储地址,将该表分片的HFile格式的数据存储至硬盘中该表分片的HFile文件中。
基于步骤1041和步骤1042的设置,使得工作节点具有对表分片的更新数据进行格式转换,得到HFile存储格式的数据,将HFile存储格式的数据写入自身节点的硬盘中该表分片的HFile文件中的功能,工作节点性能得到提高。
在一个可选的实施例中,第一工作节点可以将步骤103中确定的各表分片的更新数据发送给HBase***中其他工作节点进行备份。
实现中,参照图3是根据一示例性实施例示出的另一种HBase***的故障转移方法流程图,第一工作节点可以在步骤104执行结束后,执行步骤105:将各表分片的更新数据发送给HBase***中其他工作节点进行备份,或者,参照图4是根据一示例性实施例示出的另一种HBase***的故障转移方法流程图,第一工作节点可以在步骤103执行结束后,执行步骤105:将各表分片的更新数据发送给HBase***中其他工作节点进行备份。
基于步骤105的设置,使得第一工作节点具有备份HFile存储格式的数据至其他工作节点的功能,使得在第一工作节点出现故障时,可以从其他工作节点获取第一工作节点内的数据,保证了HBase***的服务可用性。
在使用分布式文件***进行数据管理的情况下,分布式文件***设有多个文件***节点,第一工作节点可以通过配合使用的文件***节点,向其他工作节点发送HFile存储格式的数据。
在一个可选的实施例中,在图3或图4的基础上,所述方法还可以包括:在各表分片的更新数据写入自身节点的硬盘中且备份至其他工作节点后,向外提供表分片的读写服务。
第一工作节点在将HFile存储格式的数据写入自身硬盘中且确定其他工作节点完成备份后,向外提供该表分片的读写服务,从而完成表分片的故障转移,使该表分片处于可用状态。
在使用分布式文件***进行数据管理的情况下,第一工作节点可以接收其他工作节点通过配合使用的文件***节点发送的通知,根据该通知确定其他工作节点完成备份。
在一个可选的实施例中,在图3或图4的基础上,所述方法还包括:在在各表分片的更新数据写入自身节点的硬盘中且备份至其他工作节点后,向管理节点发送表分片的数据转移结束的通知。
管理节点用于对表分片的存储位置等表分片信息进行管理,第一工作节点在将HFile存储格式的数据写入自身硬盘中且确定其他工作节点完成备份后,第一工作节点向管理节点发送表分片的数据转移结束的通知,使得管理节点根据该通知,更改管理节点中该表分片的存储位置等表分片信息。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。
其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
与前述应用功能实现方法实施例相对应,本公开还提供了应用功能实现装置及相应的终端的实施例。
图5是根据一示例性实施例示出的一种HBase***的故障转移装置框图,应用于HBase***中第一工作节点,所述装置包括:获取模块21、拆分模块22、确定模块23和写入模块24;其中,
所述获取模块21,被配置为获取HBase***中管理节点发送的预写日志***WAL文件,WAL文件包括:HBase***中第二工作节点发生故障时内部多个表分片的WAL文件;
所述拆分模块22,被配置为在自身节点内存中拆分WAL文件,得到各表分片的WAL文件;
所述确定模块23,被配置为根据自身节点内存中各表分片的WAL文件,确定在所述故障发生时所述第二工作节点内存中各所述表分片的更新数据;
所述写入模块24,被配置为将各表分片的更新数据写入自身节点硬盘中。
在一个可选的实施例中,在图5所示的HBase***的故障转移装置的基础上,参照图6,所述写入模块24,可以包括:格式转换子模块241和写入子模块242;其中,
所述格式转换子模块241,被配置为针对每个表分片的更新数据,对表分片的更新数据进行格式转换,得到HFile存储格式的数据;
所述写入子模块242,被配置为将HFile存储格式的数据写入自身节点的硬盘中表分片的HFile文件中。
在一个可选的实施例中,在图5所示的HBase***的故障转移装置的基础上,所述装置还可以包括:发送模块,所述发送模块,被配置为将各表分片的更新数据发送给HBase***中其他工作节点进行备份。
参照图7,发送模块25,可以被配置为在写入模块24将各表分片的更新数据写入自身节点硬盘中后,将各表分片的更新数据发送给HBase***中其他工作节点进行备份。或者,参照图8,发送模块25,可以被配置为在确定模块23确定在故障发生时第二工作节点内存中各表分片的更新数据后,将各表分片的更新数据发送给HBase***中其他工作节点进行备份。
在图5所示的HBase***的故障转移装置的基础上,所述装置还可以包括:发送模块;
所述发送模块,被配置为将各表分片的更新数据发送给HBase***中其他工作节点进行备份。
在一个可选的实施例中,所述装置还可以包括:服务模块;
所述服务模块,被配置为在各表分片的更新数据写入自身节点的硬盘中且备份至其他工作节点后,向外提供表分片的读写服务。
在一个可选的实施例中,所述装置还可以包括:通知模块;
所述通知模块,被配置为在各表分片的更新数据写入自身节点的硬盘中且备份至其他工作节点后,向管理节点发送表分片的数据转移结束的通知。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
如图9所示,图9是根据一示例性实施例示出的另一种用于HBase***的故障转移的装置1700的一结构示意图。例如,装置1700可以被提供为一应用服务器。参照图9,装置1700包括处理组件1722,其进一步包括一个或多个处理器,以及由存储器1716所代表的存储器资源,用于存储可由处理部件1722的执行的指令,例如应用程序。存储器1716中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1722被配置为执行指令,以执行上述HBase***的故障转移方法。
装置1700还可以包括一个电源组件1726被配置为执行装置1700的电源管理,一个有线或无线网络接口1750被配置为将装置1700连接到网络,和一个输入输出(I/O)接口1758。装置1700可以操作基于存储在存储器1716的操作***,例如Android、iOS、WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1716,上述指令可由装置1700的处理组件1722执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
其中,当所述存储器1716中的指令由所述处理组件1722执行时,使得装置1700能够执行一种HBase***的故障转移方法,包括:
获取所述HBase***中管理节点发送的预写日志***WAL文件,所述WAL文件包括:所述HBase***中第二工作节点发生故障时内部多个表分片的WAL文件;
在自身节点内存中拆分所述WAL文件,得到各所述表分片的WAL文件;
根据所述自身节点内存中各所述表分片的WAL文件,确定在所述故障发生时所述第二工作节点内存中各所述表分片的更新数据;
将各所述表分片的更新数据写入所述自身节点硬盘中。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (12)

1.一种HBase***的故障转移方法,其特征在于,应用于所述HBase***中第一工作节点,所述方法包括:
获取所述HBase***中管理节点发送的预写日志***WAL文件,所述WAL文件包括:所述HBase***中第二工作节点发生故障时内部多个表分片的WAL文件;
在自身节点内存中拆分所述WAL文件,得到各所述表分片的WAL文件;
根据所述自身节点内存中各所述表分片的WAL文件,确定在所述故障发生时所述第二工作节点内存中各所述表分片的更新数据;
将各所述表分片的更新数据写入所述自身节点硬盘中。
2.根据权利要求1所述的方法,其特征在于,所述将各所述表分片的更新数据写入所述自身节点硬盘中,包括:
针对每个所述表分片的更新数据,对所述表分片的更新数据进行格式转换,得到HFile存储格式的数据;
将所述HFile存储格式的数据写入所述自身节点的硬盘中所述表分片的HFile文件中。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将各所述表分片的更新数据发送给所述HBase***中其他工作节点进行备份。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在各所述表分片的更新数据写入所述自身节点的硬盘中且备份至所述其他工作节点后,向外提供所述表分片的读写服务。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在各所述表分片的更新数据写入所述自身节点的硬盘中且备份至所述其他工作节点后,向所述管理节点发送所述表分片的数据转移结束的通知。
6.一种HBase***的故障转移装置,其特征在于,应用于所述HBase***中第一工作节点,所述装置包括:
获取模块,被配置为获取所述HBase***中管理节点发送的预写日志***WAL文件,所述WAL文件包括:所述HBase***中第二工作节点发生故障时内部多个表分片的WAL文件;
拆分模块,被配置为在自身节点内存中拆分所述WAL文件,得到各所述表分片的WAL文件;
确定模块,被配置为根据所述自身节点内存中各所述表分片的WAL文件,确定在所述故障发生时所述第二工作节点内存中各所述表分片的更新数据;
写入模块,被配置为将各所述表分片的更新数据写入所述自身节点硬盘中。
7.根据权利要求6所述的装置,其特征在于,所述写入模块,包括:
格式转换子模块,被配置为针对每个所述表分片的更新数据,对所述表分片的更新数据进行格式转换,得到HFile存储格式的数据;
写入子模块,被配置为将所述HFile存储格式的数据写入所述自身节点的硬盘中所述表分片的HFile文件中。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
发送模块,被配置为将各所述表分片的更新数据发送给所述HBase***中其他工作节点进行备份。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
服务模块,被配置为在各所述表分片的更新数据写入所述自身节点的硬盘中且备份至所述其他工作节点后,向外提供所述表分片的读写服务。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
通知模块,被配置为在各所述表分片的更新数据写入所述自身节点的硬盘中且备份至所述其他工作节点后,向所述管理节点发送所述表分片的数据转移结束的通知。
11.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1~5中任一项所述方法的步骤。
12.一种HBase***的故障转移装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取所述HBase***中管理节点发送的预写日志***WAL文件,所述WAL文件包括:所述HBase***中第二工作节点发生故障时内部多个表分片的WAL文件;
在自身节点内存中拆分所述WAL文件,得到各所述表分片的WAL文件;
根据所述自身节点内存中各所述表分片的WAL文件,确定在所述故障发生时所述第二工作节点内存中各所述表分片的更新数据;
将各所述表分片的更新数据写入所述自身节点硬盘中。
CN201910817715.9A 2019-08-30 2019-08-30 HBase***的故障转移方法及装置 Active CN110532123B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201910817715.9A CN110532123B (zh) 2019-08-30 2019-08-30 HBase***的故障转移方法及装置
US16/694,698 US11249854B2 (en) 2019-08-30 2019-11-25 Method and device for failover in HBase system, and non-transitory computer-readable storage medium
EP19212579.7A EP3786802B1 (en) 2019-08-30 2019-11-29 Method and device for failover in hbase system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910817715.9A CN110532123B (zh) 2019-08-30 2019-08-30 HBase***的故障转移方法及装置

Publications (2)

Publication Number Publication Date
CN110532123A true CN110532123A (zh) 2019-12-03
CN110532123B CN110532123B (zh) 2023-08-04

Family

ID=68665936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910817715.9A Active CN110532123B (zh) 2019-08-30 2019-08-30 HBase***的故障转移方法及装置

Country Status (3)

Country Link
US (1) US11249854B2 (zh)
EP (1) EP3786802B1 (zh)
CN (1) CN110532123B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112711382A (zh) * 2020-12-31 2021-04-27 百果园技术(新加坡)有限公司 基于分布式***的数据存储方法、装置和存储节点

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11989051B2 (en) 2021-06-08 2024-05-21 Salesforce, Inc. Time alignment in director-based database system for transactional consistency
US11822535B2 (en) * 2021-06-08 2023-11-21 Salesforce, Inc. Director-based database system for transactional consistency
CN113778764B (zh) * 2021-08-24 2023-10-27 百融至信(北京)科技有限公司 一种hbase数据双活***及方法
CN115361269B (zh) * 2022-07-08 2023-05-30 福建新大陆通信科技股份有限公司 一种应急广播设备热备份方法

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100161565A1 (en) * 2008-12-18 2010-06-24 Electronics And Telecommunications Research Institute Cluster data management system and method for data restoration using shared redo log in cluster data management system
JP2013008291A (ja) * 2011-06-27 2013-01-10 Nippon Telegr & Teleph Corp <Ntt> 分散データストアシステムおよび障害復旧方法
CN103870570A (zh) * 2014-03-14 2014-06-18 广州携智信息科技有限公司 一种基于远程日志备份的HBase数据可用性及持久性的方法
US20140279855A1 (en) * 2013-03-15 2014-09-18 International Business Machines Corporation Differentiated secondary index maintenance in log structured nosql data stores
CN104133867A (zh) * 2014-07-18 2014-11-05 中国科学院计算技术研究所 分布式顺序表片内二级索引方法及***
CN105159818A (zh) * 2015-08-28 2015-12-16 东北大学 内存数据管理中日志恢复方法及其仿真***
CN105187546A (zh) * 2015-09-25 2015-12-23 南京伍安信息科技有限公司 一种网络化分离存储***及其分离存储文件的方法
US20160041885A1 (en) * 2013-03-13 2016-02-11 Nec Corporation Data Replicating System, Data Replicating Method, Node Device, Management Device and Computer Readable Medium
WO2017122060A1 (en) * 2016-08-25 2017-07-20 Huawei Technologies India Pvt. Ltd. Parallel recovery for shared-disk databases
CN107145403A (zh) * 2017-04-20 2017-09-08 浙江工业大学 面向Web开发环境的关系型数据库数据回溯方法
CN107273462A (zh) * 2017-06-02 2017-10-20 郑州云海信息技术有限公司 一种构建HBase集群全文索引方法,数据读取方法以及数据写入方法
WO2019057000A1 (zh) * 2017-09-21 2019-03-28 阿里巴巴集团控股有限公司 日志写入方法、装置及***
CN109542682A (zh) * 2018-11-16 2019-03-29 上海达梦数据库有限公司 一种数据备份方法、装置、设备和存储介质

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100161565A1 (en) * 2008-12-18 2010-06-24 Electronics And Telecommunications Research Institute Cluster data management system and method for data restoration using shared redo log in cluster data management system
JP2013008291A (ja) * 2011-06-27 2013-01-10 Nippon Telegr & Teleph Corp <Ntt> 分散データストアシステムおよび障害復旧方法
US20160041885A1 (en) * 2013-03-13 2016-02-11 Nec Corporation Data Replicating System, Data Replicating Method, Node Device, Management Device and Computer Readable Medium
US20160188690A1 (en) * 2013-03-15 2016-06-30 International Business Machines Corporation Differentiated secondary index maintenance in log structured nosql data stores
US20140279855A1 (en) * 2013-03-15 2014-09-18 International Business Machines Corporation Differentiated secondary index maintenance in log structured nosql data stores
CN103870570A (zh) * 2014-03-14 2014-06-18 广州携智信息科技有限公司 一种基于远程日志备份的HBase数据可用性及持久性的方法
CN104133867A (zh) * 2014-07-18 2014-11-05 中国科学院计算技术研究所 分布式顺序表片内二级索引方法及***
CN105159818A (zh) * 2015-08-28 2015-12-16 东北大学 内存数据管理中日志恢复方法及其仿真***
CN105187546A (zh) * 2015-09-25 2015-12-23 南京伍安信息科技有限公司 一种网络化分离存储***及其分离存储文件的方法
WO2017122060A1 (en) * 2016-08-25 2017-07-20 Huawei Technologies India Pvt. Ltd. Parallel recovery for shared-disk databases
CN107145403A (zh) * 2017-04-20 2017-09-08 浙江工业大学 面向Web开发环境的关系型数据库数据回溯方法
CN107273462A (zh) * 2017-06-02 2017-10-20 郑州云海信息技术有限公司 一种构建HBase集群全文索引方法,数据读取方法以及数据写入方法
WO2019057000A1 (zh) * 2017-09-21 2019-03-28 阿里巴巴集团控股有限公司 日志写入方法、装置及***
CN109542682A (zh) * 2018-11-16 2019-03-29 上海达梦数据库有限公司 一种数据备份方法、装置、设备和存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
PANAGIOTIS GAREFALAKIS等: "ACaZoo: A Distributed Key-Value Store Based on Replicated LSM-Trees", IEEE *
唐长城;杨峰;代栋;孙明明;周学海;: "一种基于HBase的数据持久性和可用性研究", 计算机***应用, no. 10 *
张福铮;黄文琦;陈华军;郭晓斌;陈承志;: "基于HBase的配用电海量时序数据存取研究", 现代电子技术, no. 13 *
罗文华;王志铭;: "基于存储形态及特征的HBase数据库灾难恢复机制研究", 信息网络安全, no. 09 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112711382A (zh) * 2020-12-31 2021-04-27 百果园技术(新加坡)有限公司 基于分布式***的数据存储方法、装置和存储节点
CN112711382B (zh) * 2020-12-31 2024-04-26 百果园技术(新加坡)有限公司 基于分布式***的数据存储方法、装置和存储节点

Also Published As

Publication number Publication date
EP3786802A1 (en) 2021-03-03
EP3786802B1 (en) 2023-02-15
CN110532123B (zh) 2023-08-04
US20210064473A1 (en) 2021-03-04
US11249854B2 (en) 2022-02-15

Similar Documents

Publication Publication Date Title
CN110532123A (zh) HBase***的故障转移方法及装置
CN111723160B (zh) 一种多源异构增量数据同步方法及***
CN102662992B (zh) 一种海量小文件的存储、访问方法及装置
CN113297166B (zh) 数据处理***、方法以及装置
CN106815218B (zh) 数据库访问方法、装置和数据库***
CN106156359A (zh) 一种云计算平台下的数据同步更新方法
CN106997557B (zh) 订单信息采集方法及装置
WO2020063600A1 (zh) 数据容灾方法与站点
CN113220795A (zh) 基于分布式存储的数据处理方法、装置、设备以及介质
CN102833273B (zh) 临时故障时的数据修复方法及分布式缓存***
CN114996053A (zh) 一种远程卷复制传输方法、***、装置及存储介质
CN113779143A (zh) 双活数据中心和业务***
WO2021082925A1 (zh) 一种交易处理的方法及装置
US9043274B1 (en) Updating local database and central database
EP3349416B1 (en) Relationship chain processing method and system, and storage medium
CN111752892B (zh) 分布式文件***及其实现方法、管理***、设备及介质
EP3709173B1 (en) Distributed information memory system, method, and program
CN113630317B (zh) 一种数据传输方法、装置、非易失性存储介质及电子装置
CN110569231B (zh) 数据迁移方法、装置、设备和介质
JP2013065113A (ja) 負荷分散システム、データアクセス装置、及び負荷分散方法
CN113297327A (zh) 生成分布式id的***和方法
CN108429813B (zh) 云存储服务的容灾方法、***及终端
US20230137015A1 (en) Storage array remote replication
CN114676166B (zh) 数据处理方法及装置
US20240143790A1 (en) Encryption Key Enhancement Of Storage Array Snapshots

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