CN111209138A - 数据存储系统的运维方法及装置 - Google Patents
数据存储系统的运维方法及装置 Download PDFInfo
- Publication number
- CN111209138A CN111209138A CN201811402310.0A CN201811402310A CN111209138A CN 111209138 A CN111209138 A CN 111209138A CN 201811402310 A CN201811402310 A CN 201811402310A CN 111209138 A CN111209138 A CN 111209138A
- Authority
- CN
- China
- Prior art keywords
- area block
- block
- area
- metadata
- region
- 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
Images
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/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提出一种数据存储系统的运维方法及装置,涉及数据处理技术领域。所述方法包括:对区域块服务器节点中区域块所对应的区域块信息文件进行修复,得到修复后的区域块信息文件;基于所述修复后的区域块信息文件,对元数据表中与所述区域块对应的元数据进行修复,得到修复后的元数据表;基于所述修复后的元数据表,对所述区域块的挂载状态进行修复。本公开能够实现对数据存储系统的自动化运维,提高运维效率和可靠性,降低运维成本。
Description
技术领域
本公开涉及数据处理技术领域,具体而言,涉及一种数据存储系统的运维方法及装置。
背景技术
随着数据处理技术的发展,分布式的数据存储系统的应用日益广泛。其中,Hbase(Hadoop database)是一种建立在HDFS(Hadoop Distributed File System,分布式文件系统)上、面向列的开源数据存储系统,并以其高可靠性、高性能、可伸缩的优点,逐渐受到了用户的重视。
Hbase包括协调服务节点(zookeeper)和区域块服务器节点(Region Server)。Hbase中的数据以数据表(Table)的形式存储,各数据表在行的方向上被分割为至少一个区域块(Region),各区域块设置在区域块服务器节点上。另外,该Hbase中还可以生成该区域块的元数据。在该Hbase运行的过程中,受网络、读写压力等多种环境因素的影响,可能会出现区域块服务器节点中包括区域块与该区域块对应的元数据不一致的问题,从而导致难以向Hbased读/写数据,数据存储系统的可靠性较低。
现有技术中,可以由用户在发现Hbase中存在某个区域块和该区域块的元数据不一致的问题时,手动执行Hbase提供的运维指令,对该问题进行修复。但需要依赖人工对Hbase进行运维,不仅效率低下,运维成本较高,而且由于现有的Hbase所提供的运维指令较为复杂,需要资深的运维人员选择相应的运维指令来对Hbase进行运维,从而导致对Hbase进行运维的难度较大,运维的成功率也难以保证,成本也较高。
发明内容
本公开实施例的目的在于提供一种数据存储系统的运维方法及装置,以实现对数据存储系统的自动化运维。
为了实现上述目的,本公开实施例采用的技术方案如下:
第一方面,本公开实施例提出一种数据存储系统的运维方法,所述方法包括:
对区域块服务器节点中区域块所对应的区域块信息文件进行修复,得到修复后的区域块信息文件;
基于所述修复后的区域块信息文件,对元数据表中与所述区域块对应的元数据进行修复,得到修复后的元数据表;
基于所述修复后的元数据表,对所述区域块的挂载状态进行修复。
第二方面,本公开实施例还提出一种数据存储系统的运维装置,所述装置包括:
第一修复模块,用于对区域块服务器节点中区域块所对应的区域块信息文件进行修复,得到修复后的区域块信息文件;
第二修复模块,用于基于所述修复后的区域块信息文件,对元数据表中与所述区域块对应的元数据进行修复,得到修复后的元数据表;
第三修复模块,用于基于所述修复后的元数据表,对所述区域块的挂载状态进行修复。
第三方面,本公开实施例还提出一种电子设备,包括存储有计算机程序的计算机可读存储介质和处理器,所述计算机程序被所述处理器读取并运行时,实现上述第一方面所述的方法。
第四方面,本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器读取并运行时,实现上述第一方面所述的方法。
相对现有技术,本公开实施例具有以下有益效果:
在本公开实施例中,首先,能够对区域块服务器节点中区域块所对应的区域块信息文件进行修复,从而确保区域块服务器节点中的区域块与相应的区域块信息文件中包括的区域块信息一致,其次,能够基于修复后的区域块信息文件,对元数据表中与区域块对应的元数据进行修复,进一步保证区域块服务器节点中的区域块与元数据表中与区域块对应的元数据一致,还能够基于修复后的元数据表,对区域块的挂载状态进行修复,进一步确保元数据表与区域块在区域块服务器节点中的实际挂载状态一致,最终实现了区域块服务器节点中包括的区域块,与数据系统中的该区域块的区域块相关数据一致,运维过程无需停止数据存储系统的服务,实现了对数据存储系统的自动化运维,提高了运维的效率和可靠性,也降低了运维成本。
本公开的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开实施例了解。本公开的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种数据存储系统的结构示意图;
图2示出了本公开实施例所提供的一种数据存储系统的运维方法的流程示意图;
图3示出了本公开实施例所提供的另一种数据存储系统的运维方法的流程示意图;
图4示出了本公开实施例所提供的一种数据存储系统的运维装置的功能模块示意图;
图5示出了本公开实施例所提供的另一种数据存储系统的运维装置的功能模块示意图;
图6示出了本公开实施例所提供的又一种数据存储系统的运维装置的功能模块示意图;
图7示出了本公开实施例所提供的又一种数据存储系统的运维装置的功能模块示意图;
图8示出了本公开实施例所提供的一种电子设备的功能模块示意图。
具体实施方式
下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,为本公开实施例所提供的一种数据存储系统的结构示意图。数据存储系统Hbase可以包括客户端节点101、主机节点102、协调服务节点103和区域块服务器节点104。
客户端节点101,可以作为Hbase的访问入口;能够与主机节点102进行通信,从而对Hbase进行管理操作;也能够与协调服务节点103进行通信,从而对Hbase进行数据读写类操作。
主机节点102可以用于向协调服务节点103分配区域块;实现协调服务节点103的负载均衡、Hbase中的垃圾文件回收。
协调服务节点103可以用于确保Hbase中只有一个主机节点102;实时监控各区域块服务器节点104的状态,并将区域块服务器节点104的上线和下线实时通知给主机节点102;存储有Hbase包括的各节点的节点地址。
区域块服务器节点104设置有区域块,并能够对区域块进行维护;处理针对区域块的读/写请求;对区域块进行分裂或合并。
区域块为Hbase进行数据管理的基本单位,其中存储有用户的真实数据。一个区域块只能被挂载在一个区域块服务器节点104,来自一个以上区域块服务器节点104的区域块组合成为所属的数据表。
当Hbase将数据存储至区域块中,还会生成并存储该区域块的区域块相关数据。该区域块相关数据包括元数据以及区域块信息文件。
其中,元数据用于描述区域块的属性,该元数据可以包括区域块名、和基本信息。区域块名用于标识一个区域块,该区域块标识可以由所属数据表的数据表名、该区域块的起始行键值和时间戳。基本信息包括区域块的区域块信息和所在区域块服务器节点104的服务器地址。区域块信息包括区域块可以包括该区域块的起始键值、结束键值以及所属数据表的相关信息。该元数据可以存储在元数据表中。
需要说明的是,在实际应用中,该元数据还可以包括更多或更少的与区域块相关的信息。
元数据表中存储有Hbase包括的区域块所对应的元数据,从而能够基于该元数据表,对任意的区域块进行定位。
区域块信息文件存储有上述的区域块信息,该区域块信息文件可以与区域块对应存储,比如可以包括在该区域块中,或者可以对应存储该区域块所在区域块服务器节点104中的其他位置。
为了实现对Hbase进行运维的自动化,确保Hbase中的区域块服务器节点104中实际包括的各区域块与所对应的区域块相关数据一致性,本公开实施例提供了一种数据存储系统的运维方法,该方法可以由该Hbase中的主机节点102实现,当然,也可以在该Hbase中额外增加运维节点,并由该运维节点实现该数据存储系统的运维方法。
以下将结合上述的数据存储系统Hbase,对本公开实施例所提供的数据存储系统的运维方法进行详细说明。
请参照图2,为本公开实施例所提供的一种数据存储系统的运维方法的流程示意图。需要说明的是,本公开实施例所述的数据存储系统的运维方法并不以图2以及以下所述的具体顺序为限制,应当理解,在其它实施例中,本公开实施例所述的数据存储系统的运维方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图2所示的流程进行详细阐述。
步骤201,对区域块服务器节点中区域块所对应的区域块信息文件进行修复,得到修复后的区域块信息文件。
为了解决区域块服务器节点中的区域块与相应的区域块信息文件中包括的区域块信息不一致的问题,即确保Hbase中区域块信息准确无误,可以对该区域块信息文件进行修复。
由前述可知,区域块信息可以包括该区域块的起始键值、结束键值以及所属数据表的相关信息,且该区域块信息包括在区域块对应的元数据中,因此,可以基于该区域块或者该元数据,重新获取与该区域块对应的区域块信息,进而生成该区域块信息文件。
需要说明的是,可以对Hbase中所有的区域块对应的区域块信息文件进行修复,当然,也可以对Hbase中特定的区域块服务器节点中包括的区域块对应的区域块信息文件进行修复,或者,也可以对归属于特定数据表的区域块对应的区域块信息文件进行修复,或者,也可以仅对特定的区域块对应的区域块信息文件进行修复。
步骤202,基于修复后的区域块信息文件,对元数据表中与区域块对应的元数据进行修复,得到修复后的元数据表。
通过前述已经确保了区域块与相应的区域块信息文件的一致性,为了进一步解决区域块服务器节点中的区域块与元数据表中与区域块对应的元数据不一致的问题,可以基于前述已经修复的区域块信息文件,对该元数据进行修复。
其中,对于各区域块,可以将该区域块对应的元数据以及修复后的区域块信息文件包括的区域块信息进行比较,若不一致,则将元数据中的区域块信息替换为修复后的区域块信息文件所包括的区域块信息。
当然,若区域块对应的元数据所包括的该区域块的服务器地址,与该区域块当前实际所在的区域块服务器节点的服务器地址不一致,还可以将元数据所包括的服务器地址,替换为该区域块当前实际所在的区域块服务器节点的服务器地址。
步骤203,基于修复后的元数据表,对区域块的挂载状态进行修复。
由于已经确保了区域块与相应的区域块信息文件以及元数据的一致性,即修复的元数据表中所包括的各区域块对应的元数据是准确的,因此,为了确保元数据表与区域块在区域块服务器节点中的实际挂载状态一致,能够基于该数据,准确地对相应的区域块进行定位和管理,可以基于修复后的元数据表,对区域块的挂载状态进行修复。
其中,挂载状态包括上线、下线以及上线时的挂载位置。该挂载位置用于说明当前挂载该区域块的区域块服务器节点,即该区域块上线的位置。
对于修复后的元数据表中包括的各元数据,可以将该元数据对应的区域块,重新挂载至在该元数据中的服务器地址所对应的区域块服务器节点。当然,若该区域块的挂载位置正确,即与元数据中的服务器地址相同,则可以不对该区域块重新进行挂载。
在本公开实施例中,首先,能够对区域块服务器节点中区域块所对应的区域块信息文件进行修复,从而确保区域块服务器节点中的区域块与相应的区域块信息文件中包括的区域块信息一致,其次,能够基于修复后的区域块信息文件,对元数据表中与区域块对应的元数据进行修复,进一步保证区域块服务器节点中的区域块与元数据表中与区域块对应的元数据一致,还能够基于修复后的元数据表,对区域块的挂载状态进行修复,进一步确保元数据表与区域块在区域块服务器节点中的实际挂载状态一致,最终实现了区域块服务器节点中包括的区域块,与数据系统中的该区域块的区域块相关数据一致,运维过程无需停止数据存储系统的服务,实现了对数据存储系统的自动化运维,提高了运维的效率和可靠性,也降低了运维成本。
请参照图3,为本公开实施例所提供的一种数据存储系统的运维方法的流程示意图。需要说明的是,本公开实施例所述的数据存储系统的运维方法并不以图3以及以下所述的具体顺序为限制,应当理解,在其它实施例中,本公开实施例所述的数据存储系统的运维方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图3所示的流程进行详细阐述。
步骤301,确定运维环境正常。
为了便于确保当前Hhase能够满足后续运维所需的运维条件,从而确保后续对Hbase的运维过程能够可靠地进行,从而提高提高对数据存储系统进行运维的可靠性,可以先确定运维环境正常。
其中,可以运维条件为对Hbase进行运维所需满足的条件,该运维条件可以通过用户事先设定得到。
例如,该运维条件可以包括各节点是否上线或者运行正常。
可选地,可以检测运维环境信息,该运维环境信息包括Hbase中各节点的节点地址、节点角色和和节点状态,基于各节点的节点地址、节点角色和和节点状态,确定各节点运行正常。其中,当确定各节点的节点角色且各节点均上线时,即确定运维环境正常,从而可以继续执行后续的步骤。
由于对Hbase运维过程中,可能需要从多个节点中获取数据,因而为了确保后续能够正常地与各节点进行交互,从而可靠地完成该运维过程,可以检测各节点的节点角色以及是否上线。
运维环境信息为Hbase中与软件环境和/或硬件环境相关的信息。
其中,节点角色用于说明节点在Hbase中的功能作用,比如该节点作为主机节点或者客户端节点,节点状态用于说明节点当前所处的状态,可以包括上线或下线。
可以从角色配置文件获取各节点的节点角色,从协调服务节点103中获取各节点的节点地址,并通过该协调服务节点103来检测各节点是否上线。
需要说明的是,角色配置文件可以通过事先确定得到,比如,由在Hbase中创建节点并向该节点分配节点角色时确定。
还需要说明的是,若无法获取到节点的节点角色,可以基于该节点的节点地址,从该节点获取该节点的节点角色,当然,还可以基于获取的该节点的节点角色,进一步重新生成角色配置文件。
还需要说明的是,若无法获取到各节点的节点角色或者确定存在未上线的节点,可以重新启动各节点,再次通过执行步骤301中确定运维环境正常,若在预设时间段内连续预设次数均无法获取到各节点的节点角色或者确定存在未上线的节点,则可以停止执行后续的步骤,即确定本次运维失败。
其中,预设时间段和预设次数可以通过事先确定得到,比如接收用户提交的时间段作为预设时间段,接收用户提交的次数作为预设次数。
还需要说明的是,若获取主机节点失败或者未获取到任何在线的区域块服务器节点,也可以确定本次运维失败。
另外,在实际应用中,该运维环境信息还可以包括其它Hbase中与软件环境和/或硬件环境相关的信息,比如,还可以包括Hbase的版本号,且当该运维环境信息还可以包括Hbase的版本号时,可以在确定该版本号为最新版本号或者为特定版本号时,确定该确定运维环境正常。
另外,在公开的另一可选实施例中,也可以不在对Hbase进行运维之前确定运维环境正常,也即是,步骤301为可选的步骤。
步骤302,确定当前时刻不处于预设区域块变动时间段,该预设区域块变动时间段用于对区域块进行合并或分裂。
由于在Hbase运行的过程中,可能会对区域块进行合并或者分裂,在对区域块进行合并或分裂过程中,区域块变化较为频繁,相应的,区域块相关数据的变化也会比较频繁,因此为了减少将正确的区域块相关数据修改错误的可能,即进一步提高对数据存储系统进行运维的可靠性,可以先确定当前时刻不处于预设区域块变动时间段。
预设区域块变动时间段可以通过事先确定得到,比如接收用户提交的时间段作为该预设区域块变动时间段。
可以获取当前时刻以及预设区域块变动时间段进行比较,从而判断当前时刻是否处于该预设区域块变动时间段。
另外,在本公开的另一可选实施例中,也可以先确定当前时刻不处于预设区域块变动时间段之后,再确定运维环境正常,当然,也可以同时在确定当前时刻不处于预设区域块变动时间段且确定运维环境正常之后,再执行后续步骤以对Hbase进行运维,也即是,本公开不对确定当前时刻不处于预设区域块变动时间段的步骤、确定运维环境正常的步骤的先后次序进行限定。
另外,在本公开的另一可选实施例中,也可以不限制对Hbase进行运维的时间,也即是,步骤302可以为可选的步骤。
步骤303,对待运维的区域块进行定位。
为了确定运维的范围,即具体修复区域块和区域块相关数据一致性所针对的区域块,从而准确地能够获取待运维的区域块,并通过后续步骤针对所获取的数据块进行运维,提高对数据存储系统进行运维的准确性和可靠性,可以对待运维的区域块进行定位。
其中,待运维的区域块可以通过事先确定,比如,将Hbase中所有的区域块均作为待运维的区域块;或者,向用户展示区域块服务器节点,并接收用户指定的区域块服务器节点,将所指定的区域块服务器节点包括的所有区域块,确定为待运维的区域块;或者,向用户展示数据表,并接收用户指定的数据表,将所指定的数据表包括的区域块确定为待运维的区域块,或者,向用户展示数据表,并接收用户指定的区域块,将所指定的区域块确定为待运维的区域块。
可选地,获取元数据表,元数据表中包括区域块对应的元数据,该区域块对应的元数据包括该区域块的服务器地址,基于该服务器地址,对区域块进行定位。
由于元数据表中存储有各区域块的元数据,而元数据中即包括相应的区域块所在的服务器地址,因此,为了提高对区域块进行定位的准确性和效率,进而提高对数据存储系统进行运维的效率,可以获取元数据表,从而对区域块进行定位。
其中,可以从协调服务节点获取元数据表所在的区域块服务器节点的服务器地址,基于该服务器地址,从该区域块服务器节点中获取元数据表。
需要说明的是,也可以不通过获取元数据表来对区域块进行定位,比如,在将Hbase中所有的区域块均作为待运维的区域块时,可以从协调服务节点获取区域块所在的区域块服务器节点的服务器地址,从而基于该服务器地址,从所获取的区域块服务器节点中所包括的各区域块,即完成对区域块的定位。
步骤304,对区域块服务器节点中区域块所对应的区域块信息文件进行修复,得到修复后的区域块信息文件。
其中,可以通过下述至少一种方式,对区域块服务器节点中区域块所对应的区域块信息文件进行修复。
方式一,若区域块服务器节点中不存在区域块对应的区域块信息文件,则基于区域块,重新生成对应于区域块的区域块信息文件。
由于区域块信息文件所包括的区域块信息,是与该区域块所存储的真实数据相关的,因此,为了提高重新生成对应于区域块的区域块信息文件的准确性,可以直接基于区域块重新生成对应于区域块的区域块信息文件。
其中,由于区域块中的数据以Hfile文件的形式存储,因此,可以该区域块包括的Hfile文件,从而重新生成对应于区域块的区域块信息文件。
方式二,若区域块服务器节点中不存在区域块对应的区域块信息文件,则从元数据表中获取该区域块对应的元数据,基于该区域块对应的元数据,重新生成对应于区域块的区域块信息文件。
由前述可知,元数据信息和区域块信息中均包括区域块信息,因此,为了提高重新生成对应于区域块的区域块信息文件的效率,进而提高运维效率,可以基于该区域块对应的元数据,重新生成对应于区域块的区域块信息文件。
其中,可以基于该区域块的区域块名,从元数据表中获取与对应的元数据。
需要说明的是,由于方式二的效率高于方式一的效率,因此,若采用上述方式一和方式二来对区域块服务器节点中区域块所对应的区域块信息文件进行修复,可以先执行方式二来对区域块服务器节点中区域块所对应的区域块信息文件进行修复,当通过方式二生成失败(比如未从元数据表中获取到该区域块对应的元数据)时,可以再执行方式一对区域块服务器节点中区域块所对应的区域块信息文件进行修复。
可选地,对于归属与同一数据表的区域块,若存在重叠的多个区域块,则将重叠的多个区域块进行合并,若数据表存在空洞,则在该空洞处新建区域块。
为了确保区域块服务器节点中各区域块的准确性和可靠性,进而确保基于各区域块,准确地对该区域块对应的区域块相关数据进行修复,进一步提高对数据存储系统进行运维的可靠性,可以对Hbase中的区域块进行整理,包括将重叠的区域块合并或者在数据表中填补新的区域块。
其中,可以基于区域块的区域块名,确定该区域块所属数据表的数据表名,基于该数据表名,分别获取多个区域块的元数据,基于多个区域块的元数据,确定各区域块的起始键值和结束键值,确定归属于该数据表的区域块中是否包括重叠的区域块,或者存在空洞。
需要说明的是,对于同一数据表,当任一区域块的起始键值或结束键值,处于另一区域块的起始键值和结束键值之间时,即确定该区域块与该另一区域块存在重叠,因此,可以将该区域块与该另一区域块合并为新的区域块。
例如,数据表1包括区域块1和区域2,区域块1的起始键值为0,结束键值为5000,区域块2的起始键值为4000,结束键值为6000,由于4000处于0和5000之间,因此,确定区域块1和区域2重叠。将区域块1和区域2合并,得到区域块3,区域块3的起始键值为0,结束键值为6000。
还需要说明的是,当合并多个区域块时,可以通过一次合并,也可以通过多次合并,比如,当合并的区域块超过5个时,可以通过2次进行合并。
还需要说明的是,对于同一数据表,若任一个区域块的结束键值与另一区域块的起始键值最接近但不相邻,则确定该数据表在该区域块与该另一区域块之间存在空洞,因此,可以在该空洞处新生成一个区域块。
例如,数据表1包括区域块4和区域5,区域块4的起始键值为6001,结束键值为7000,区域块5的起始键值为8001,结束键值为9000,由于7000与8001最近但不相邻,因此确定数据表1在区域块4和区域5之间存在空洞,可以在该空洞处新生成区域块6,该区域块6的起始键值为7001,结束键值为8000。
步骤305,基于修复后的区域块信息文件,对元数据表中与区域块对应的元数据进行修复,得到修复后的元数据表。
可选地,若区域块服务器节点中存在区域块、元数据表中不存在该区域块对应的元数据,则基于修复后的区域块信息文件,在元数据表中重新生成与该区域块对应的元数据;若该区域块服务器节点中不存在该区域块、该元数据表中存在该区域块对应的元数据,则将该元数据表中与该区域块对应的元数据删除。
由于Hbase需要通过区域块的元数据,对区域块进行管理,包括向该区域块中写入或读取数据等,因此,为了确保对于区域块服务器节点中实际存在的区域块,都能够向该区域块中读取或写入数据,对于元数据表中包括的任一元数据,都可以查找到对应的区域块,即提高区域块与元数据的一致性,可以将失效的元数据,即区域块服务器节点不存在对应区域块的元数据,进行删除,也可以在元数据表中新生成区域块服务器节点存在区域块对应的元数据。
其中,可以将区域块的区域名,从元数据表中获取对应的元数据,若未获取到对应的元数据,则确定该元数据表中未包括该区域块对应的元数据,从而基于该区域块的区域块信息文件,重新对应的该元数据。或者,对于任一元数据,若未基于该元数据包括的服务器地址,获取得到对应的区域块,则确定区域块服务器节点中不存与该元数据对应的区域块。
当然,若基于区域块的区域名,从元数据表中获取得到对应的元数据,但该元数据与区域块的实际属性不符,则可以基于该区域块当前的属性,对该元数据进行修复,比如该元数据包括的区域块信息与区域块信息文件包括的区域块信息不一致,则可以将该元数据包括的区域块信息,替换为区域块信息文件包括的区域块信息。
另外,由前述可知,本公开实施例可以在确定当前时刻不处于预设区域块变动时间段时对Hbase进行运维,因此,若在运维过程中,确定处于分裂中的区域块,可以阻止该区域块的分裂。
其中,当区域块分裂时,该区域块中包括特定格式的文件(比如.split格式的文件),因此,若在该区域块中存在该特定格式的文件,即可以确定该区域块处于分裂状态,相应的,可以将该特定格式的文件删除,从而阻止该区域块的分裂。
另外,若确定区域块被另一区域块引用,则将该引用关系删除。
另外,对于进行修复之后的元数据,还可以将该元数据同步至协调服务节点中。
步骤306,基于修复后的元数据表,对区域块的挂载状态进行修复。
其中,挂载状态为区域块服务器节点挂载区域块的状态,包括在线状态和挂载位置。
需要说明的是,挂载位置即为区域块所在区域块服务器节点的服务器地址。
可选地,若修复后的元数据表中存在该区域块对应的元数据,但该区域块并未挂载,则挂载该区域块;若修复后的元数据表中不存在该区域块对应的元数据,但该区域块已挂载,则将区域块下线;若修复后的元数据表中存在该区域块对应的元数据,该区域块已挂载,但该区域块的服务器地址与该区域块对应的元数据中包括的服务器地址不一致,则基于区域块对应的元数据中包括的服务器地址,重新挂载该区域块。
由于经过上述步骤的修复,元数据表所包括的元数据是准确的,而当元数据表存在区域块的元数据时,说明该区域块已经上线,即该区域块应该已经被挂载至该元数据所包括的服务器地址所对应的区域块服务器节点,因此,为了确保区域块实际所在的位置与元数据所包括的服务器地址一致,进而确保能够正常地基于元数据表,对区域块进行定位,可以基于修复后的元数据表,对区域块是否被挂载以及挂载的位置进行修复。
需要说明的是,若同一区域块被挂载至多个区域块服务器节点,可以将该区域块从该多个区域块服务器节点下线,在基于该区域块对应的元数据中包括的服务器地址,重新挂载该区域块。
另外,在本公开的另一可选实施例中,可以在检测到Hbase中存在区域块与对应的区域块相关数据不一致时运行,或者,可以通过定时或者周期性地执行数据存储系统的运维方法,从而定时或周期性地对数据存储系统进行运维,以进一步确保数据存储系统中区域块与与区域块相关数据的一致性,提高对数据存储系统的可靠性。
例如,可以每间隔预设时长,对该数据存储系统进行运维。
其中,该预设时长可以通过事先确定,比如该预设时长可以为30分钟。
在本公开实施例中,首先,能够对区域块服务器节点中区域块所对应的区域块信息文件进行修复,从而确保区域块服务器节点中的区域块与相应的区域块信息文件中包括的区域块信息一致,其次,能够基于修复后的区域块信息文件,对元数据表中与区域块对应的元数据进行修复,进一步保证区域块服务器节点中的区域块与元数据表中与区域块对应的元数据一致,还能够基于修复后的元数据表,对区域块的挂载状态进行修复,进一步确保元数据表与区域块在区域块服务器节点中的实际挂载状态一致,最终实现了区域块服务器节点中包括的区域块,与数据系统中的该区域块的区域块相关数据一致,运维过程无需停止数据存储系统的服务,实现了对数据存储系统的自动化运维,提高了运维的效率和可靠性,也降低了运维成本。
另外,能够在确定运维环境正常的情况下,在确保Hhase满足运维所需的运维条件时,对数据存储系统进行运维,确保了对数据存储系统的运维过程能够可靠地进行,从而提高提高对数据存储系统进行运维的可靠性。
另外,能够在确定当前时刻不处于预设区域块变动时间段时,对数据存储系统进行运维,减少了将正确的区域块相关数据修改错误的可能,进一步提高了对数据存储系统进行运维的可靠性。
请参照图4,为本公开实施例所提供的一种数据存储系统的运维装置400的功能模块示意图。需要说明的是,本实施例所提供的数据存储系统的运维装置400,其基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。该数据存储系统的运维装置400包括:
第一修复模块401,用于对区域块服务器节点中区域块所对应的区域块信息文件进行修复,得到修复后的区域块信息文件;
第二修复模块402,用于基于所述修复后的区域块信息文件,对元数据表中与所述区域块对应的元数据进行修复,得到修复后的元数据表;
第三修复模块403,用于基于所述修复后的元数据表,对所述区域块的挂载状态进行修复。
可选地,所述第一修复模块401具体用于:若所述区域块服务器节点中不存在所述区域块对应的区域块信息文件,则基于所述区域块,重新生成对应于所述区域块的区域块信息文件。
可选地,所述第一修复模块401具体用于:若所述区域块服务器节点中不存在所述区域块对应的区域块信息文件,则从所述元数据表中获取所述区域块对应的元数据;基于所述区域块对应的元数据,重新生成对应于所述区域块的区域块信息文件。
可选地,所述第二修复模块402具体用于:若所述区域块服务器节点中存在所述区域块、所述元数据表中不存在所述区域块对应的元数据,则基于所述修复后的区域块信息文件,在所述元数据表中重新生成与所述区域块对应的元数据;若所述区域块服务器节点中不存在所述区域块、所述元数据表中存在所述区域块对应的元数据,则将所述元数据表中与所述区域块对应的元数据删除。
可选地,所述第三修复模块403具体用于:若所述修复后的元数据表中存在所述区域块对应的元数据,但所述区域块并未挂载,则挂载所述区域块;若所述修复后的元数据表中不存在所述区域块对应的元数据,但所述区域块已挂载,则将区域块下线;若所述修复后的元数据表中存在所述区域块对应的元数据,所述区域块已挂载,但所述区域块的服务器地址与所述区域块对应的元数据中包括的服务器地址不一致,则基于所述区域块对应的元数据中包括的服务器地址,重新挂载所述区域块。
可选地,请参照图5,所述装置还包括:
第一确定模块404,用于确定当前时刻不处于预设区域块变动时间段,所述预设区域块变动时间段用于对区域块进行合并或分裂。
可选地,请参照图6,所述装置还包括:
检测模块405,用于检测运维环境信息,所述运维环境信息包括Hbase中各节点的节点地址、节点角色和节点状态;
第二确定模块406,用于基于各所述节点的节点地址、节点角色和和节点状态,确定各所述节点运行正常。
可选地,请参照图7,所述装置还包括:
获取模块407,用于获取所述元数据表,所述元数据表中包括所述区域块对应的元数据,所述区域块对应的元数据包括所述区域块的服务器地址;
定位模块408,用于基于所述服务器地址,对所述区域块进行定位。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(System-On-a-Chip,简称SOC)的形式实现。
请参照图8,为本公开实施例所提供的一种电子设备的功能模块示意图。该电子设备可以包括存储有计算机程序的计算机可读存储介质801和处理器802,处理器802可以调用计算机可读存储介质801存储的计算机程序。当该计算机程序被处理器802读取并运行,可以实现上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本公开还提供一计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器读取并运行时,可以实现上述方法实施例。
在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本公开各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (12)
1.一种数据存储系统的运维方法,其特征在于,所述方法包括:
对区域块服务器节点中区域块所对应的区域块信息文件进行修复,得到修复后的区域块信息文件;
基于所述修复后的区域块信息文件,对元数据表中与所述区域块对应的元数据进行修复,得到修复后的元数据表;
基于所述修复后的元数据表,对所述区域块的挂载状态进行修复。
2.如权利要求1所述的数据存储系统的运维方法,其特征在于,所述对区域块服务器节点中区域块所对应的区域块信息文件进行修复,包括:
若所述区域块服务器节点中不存在所述区域块对应的区域块信息文件,则基于所述区域块,重新生成对应于所述区域块的区域块信息文件。
3.如权利要求1或2所述的数据存储系统的运维方法,其特征在于,所述对区域块服务器节点中区域块所对应的区域块信息文件进行修复,包括:
若所述区域块服务器节点中不存在所述区域块对应的区域块信息文件,则从所述元数据表中获取所述区域块对应的元数据;
基于所述区域块对应的元数据,重新生成对应于所述区域块的区域块信息文件。
4.如权利要求1所述的数据存储系统的运维方法,其特征在于,所述基于所述修复后的区域块信息文件,对元数据表中与所述区域块对应的元数据进行修复,得到修复后的元数据表,包括:
若所述区域块服务器节点中存在所述区域块、所述元数据表中不存在所述区域块对应的元数据,则基于所述修复后的区域块信息文件,在所述元数据表中重新生成与所述区域块对应的元数据;
若所述区域块服务器节点中不存在所述区域块、所述元数据表中存在所述区域块对应的元数据,则将所述元数据表中与所述区域块对应的元数据删除。
5.如权利要求1所述的数据存储系统的运维方法,其特征在于,所述基于所述修复后的元数据表,对所述区域块的挂载状态进行修复,包括:
若所述修复后的元数据表中存在所述区域块对应的元数据,但所述区域块并未挂载,则挂载所述区域块;
若所述修复后的元数据表中不存在所述区域块对应的元数据,但所述区域块已挂载,则将区域块下线;
若所述修复后的元数据表中存在所述区域块对应的元数据,所述区域块已挂载,但所述区域块的服务器地址与所述区域块对应的元数据中包括的服务器地址不一致,则基于所述区域块对应的元数据中包括的服务器地址,重新挂载所述区域块。
6.如权利要求1所述的数据存储系统的运维方法,其特征在于,在所述对区域块服务器节点中区域块所对应的区域块信息文件进行修复之前,所述方法还包括:
确定当前时刻不处于预设区域块变动时间段,所述预设区域块变动时间段用于对区域块进行合并或分裂。
7.如权利要求1所述的数据存储系统的运维方法,其特征在于,在所述对区域块服务器节点中区域块所对应的区域块信息文件进行修复之前,所述方法还包括:
检测运维环境信息,所述运维环境信息包括Hbase中各节点的节点地址、节点角色和节点状态;
基于各所述节点的节点地址、节点角色和和节点状态,确定各所述节点运行正常。
8.如权利要求1或7所述的数据存储系统的运维方法,其特征在于,在所述对区域块服务器节点中区域块所对应的区域块信息文件进行修复之前,所述方法还包括:
获取所述元数据表,所述元数据表中包括所述区域块对应的元数据,所述区域块对应的元数据包括所述区域块的服务器地址;
基于所述服务器地址,对所述区域块进行定位。
9.一种数据存储系统的运维装置,其特征在于,所述装置包括:
第一修复模块,用于对区域块服务器节点中区域块所对应的区域块信息文件进行修复,得到修复后的区域块信息文件;
第二修复模块,用于基于所述修复后的区域块信息文件,对元数据表中与所述区域块对应的元数据进行修复,得到修复后的元数据表;
第三修复模块,用于基于所述修复后的元数据表,对所述区域块的挂载状态进行修复。
10.如权利要求9所述的数据存储系统的运维装置,其特征在于,所述第一修复模块具体用于:
若所述区域块服务器节点中不存在所述区域块对应的区域块信息文件,则基于所述区域块,重新生成对应于所述区域块的区域块信息文件。
11.如权利要求9所述的数据存储系统的运维装置,其特征在于,所述第二修复模块具体用于:
若所述区域块服务器节点中存在所述区域块、所述元数据表中不存在所述区域块对应的元数据,则基于所述修复后的区域块信息文件,在所述元数据表中重新生成与所述区域块对应的元数据;
若所述区域块服务器节点中不存在所述区域块、所述元数据表中存在所述区域块对应的元数据,则将所述元数据表中与所述区域块对应的元数据删除。
12.如权利要求9所述的数据存储系统的运维装置,其特征在于,所述第三修复模块具体用于:
若所述修复后的元数据表中存在所述区域块对应的元数据,但所述区域块并未挂载,则挂载所述区域块;
若所述修复后的元数据表中不存在所述区域块对应的元数据,但所述区域块已挂载,则将区域块下线;
若所述修复后的元数据表中存在所述区域块对应的元数据,所述区域块已挂载,但所述区域块的服务器地址与所述区域块对应的元数据中包括的服务器地址不一致,则基于所述区域块对应的元数据中包括的服务器地址,重新挂载所述区域块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811402310.0A CN111209138A (zh) | 2018-11-22 | 2018-11-22 | 数据存储系统的运维方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811402310.0A CN111209138A (zh) | 2018-11-22 | 2018-11-22 | 数据存储系统的运维方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111209138A true CN111209138A (zh) | 2020-05-29 |
Family
ID=70784009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811402310.0A Pending CN111209138A (zh) | 2018-11-22 | 2018-11-22 | 数据存储系统的运维方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111209138A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112562774A (zh) * | 2020-12-14 | 2021-03-26 | 深圳市网心科技有限公司 | 存储设备挂载方法、装置、计算机设备和存储介质 |
CN115185723A (zh) * | 2022-06-02 | 2022-10-14 | 广州市玄武无线科技股份有限公司 | 一种Region元信息修复方法、系统、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101082927A (zh) * | 2007-07-02 | 2007-12-05 | 浙江大学 | 一种基于ContextFS上下文文件系统的文件服务方法 |
CN103268318A (zh) * | 2013-04-16 | 2013-08-28 | 华中科技大学 | 一种强一致性的分布式键值数据库系统及其读写方法 |
CN104636217A (zh) * | 2013-11-14 | 2015-05-20 | 厦门雅迅网络股份有限公司 | 一种根文件系统自动备份和异常恢复方法和分区结构 |
CN104991926A (zh) * | 2015-06-29 | 2015-10-21 | 浪潮(北京)电子信息产业有限公司 | 文件系统恢复方法和系统 |
CN105354102A (zh) * | 2015-10-14 | 2016-02-24 | 华为技术有限公司 | 一种文件系统维护和修复的方法和装置 |
CN108646982A (zh) * | 2018-05-04 | 2018-10-12 | 广东电网有限责任公司电力科学研究院 | 一种基于ubifs的数据自动修复方法及装置 |
-
2018
- 2018-11-22 CN CN201811402310.0A patent/CN111209138A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101082927A (zh) * | 2007-07-02 | 2007-12-05 | 浙江大学 | 一种基于ContextFS上下文文件系统的文件服务方法 |
CN103268318A (zh) * | 2013-04-16 | 2013-08-28 | 华中科技大学 | 一种强一致性的分布式键值数据库系统及其读写方法 |
CN104636217A (zh) * | 2013-11-14 | 2015-05-20 | 厦门雅迅网络股份有限公司 | 一种根文件系统自动备份和异常恢复方法和分区结构 |
CN104991926A (zh) * | 2015-06-29 | 2015-10-21 | 浪潮(北京)电子信息产业有限公司 | 文件系统恢复方法和系统 |
CN105354102A (zh) * | 2015-10-14 | 2016-02-24 | 华为技术有限公司 | 一种文件系统维护和修复的方法和装置 |
CN108646982A (zh) * | 2018-05-04 | 2018-10-12 | 广东电网有限责任公司电力科学研究院 | 一种基于ubifs的数据自动修复方法及装置 |
Non-Patent Citations (1)
Title |
---|
,阿里云数据库: "《存储的奥秘 ——数据存储、备份与恢复完全解析》", 中国铁道出版, pages: 57 - 59 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112562774A (zh) * | 2020-12-14 | 2021-03-26 | 深圳市网心科技有限公司 | 存储设备挂载方法、装置、计算机设备和存储介质 |
CN112562774B (zh) * | 2020-12-14 | 2024-02-23 | 深圳市网心科技有限公司 | 存储设备挂载方法、装置、计算机设备和存储介质 |
CN115185723A (zh) * | 2022-06-02 | 2022-10-14 | 广州市玄武无线科技股份有限公司 | 一种Region元信息修复方法、系统、装置及存储介质 |
CN115185723B (zh) * | 2022-06-02 | 2023-06-02 | 广州市玄武无线科技股份有限公司 | 一种Region元信息修复方法、系统、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107133234B (zh) | 缓存数据更新的方法、装置及系统 | |
CN107391758B (zh) | 数据库切换方法、装置及设备 | |
US8250033B1 (en) | Replication of a data set using differential snapshots | |
US9372765B2 (en) | System and method for recovering system status consistently to designed recovering time point in distributed database | |
CN108647357B (zh) | 数据查询的方法及装置 | |
CN101308471B (zh) | 一种恢复数据的方法及装置 | |
CN110781028B (zh) | 数据备份方法、数据恢复方法、装置及计算设备 | |
CN112214411B (zh) | 一种容灾系统测试方法、装置、设备及存储介质 | |
CN113111129A (zh) | 数据同步方法、装置、设备及存储介质 | |
CN111694612A (zh) | 配置检查方法、装置、计算机系统及存储介质 | |
CN110063042B (zh) | 一种数据库故障的响应方法及其终端 | |
CN113448938A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN110088744A (zh) | 一种数据库维护方法及其系统 | |
WO2021112909A1 (en) | Managing replication state for deleted objects | |
JP2020057416A (ja) | 分散データベースにおけるデータブロックを処理する方法およびデバイス | |
CN111209138A (zh) | 数据存储系统的运维方法及装置 | |
CN109471901B (zh) | 一种数据同步方法及装置 | |
CN113779149A (zh) | 消息处理方法、装置、电子设备及可读存储介质 | |
CN110717130B (zh) | 打点方法、装置、终端及存储介质 | |
CN109542860B (zh) | 基于hdfs的业务数据管理方法、终端设备 | |
CN107402841A (zh) | 大规模分布式文件系统数据修复方法及设备 | |
CN109150596A (zh) | 一种scada系统实时数据转储方法和装置 | |
US20130290385A1 (en) | Durably recording events for performing file system operations | |
CN114077532A (zh) | 一种sql语句执行效率检测方法及装置 | |
CN108959604B (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 |