CN110213326B - 元数据节点集群的扩容方法、***、设备和存储介质 - Google Patents
元数据节点集群的扩容方法、***、设备和存储介质 Download PDFInfo
- Publication number
- CN110213326B CN110213326B CN201910303483.5A CN201910303483A CN110213326B CN 110213326 B CN110213326 B CN 110213326B CN 201910303483 A CN201910303483 A CN 201910303483A CN 110213326 B CN110213326 B CN 110213326B
- Authority
- CN
- China
- Prior art keywords
- metadata
- node
- partition
- service
- migrated
- 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.)
- Active
Links
Images
Classifications
-
- 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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Power Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种元数据节点集群的扩容方法、***、设备和存储介质。所述元数据节点集群中的每个元数据节点上部署有多个元数据服务,每个元数据服务单独对应一个元数据分区,所述方法包括:新增元数据节点,确定原有元数据节点中需迁出的至少一个待迁出元数据分区,在新增的元数据节点上部署相应的元数据服务,在新增的元数据节点上部署的元数据服务与待迁出元数据分区对应的元数据服务配置一致,将待迁出元数据分区迁移至新增的元数据节点中。采用本方法能够降低元数据节点集群扩容的复杂度,提高元数据节点集群扩容的效率和效果。
Description
技术领域
本申请涉及数据存储技术领域,特别是涉及一种元数据节点集群的扩容方法、***、设备和存储介质。
背景技术
在云存储***和分布式文件***中,存储节点为存储用户数据的物理设备,元数据节点为存储元数据的物理设备,同时元数据节点还负责对整个***的数据和操作进行管理。其中,元数据可以理解为包含用户数据的索引、文件名、访问权限等信息的数据。
随着用户数据的不断增加,元数据也越来越多,元数据节点所承受的压力逐渐增大。在这种情形下需要对由***中所有元数据节点形成的元数据节点集群进行扩容,以提升整个***的性能。目前,常用的扩容方式包括:新增元数据节点,将***中所有原有元数据节点的元数据集合在一起,再分发到所有元数据节点(包括新增元数据节点和原有元数据节点)上;或者,新增元数据节点,将***中部分原有元数据节点上的元数据进行拆分,再将拆分后的元数据分发到新增的元数据节点上。
然而,在采用上述方式对元数据节点集群进行扩容时,需要将元数据集中在一起进行处理,还需要对原有的元数据进行拆分,实现难度较大,拆分过程还较容易发生元数据丢失或错乱。此外,当需要拆分的元数据量比较大时,拆分过程耗时久,影响***性能和其他业务的正常进行。
发明内容
基于此,有必要针对上述技术问题,提供一种元数据节点集群的扩容方法、***、计算机设备和存储介质,能够降低元数据节点集群扩容的复杂度,并提高元数据节点集群扩容的效率和效果。
一种元数据节点集群的扩容方法,所述元数据节点集群中的每个元数据节点上部署有多个元数据服务,每个所述元数据服务单独对应一个元数据分区,所述方法包括:
新增元数据节点;
确定原有元数据节点中需迁出的至少一个待迁出元数据分区;
在新增的元数据节点上部署相应的元数据服务,在新增的元数据节点上部署的元数据服务与待迁出元数据分区对应的元数据服务配置一致;
将所述待迁出元数据分区迁移到新增的元数据节点中。
在其中一个实施例中,所述确定原有元数据节点中需要迁出的至少一个待迁出元数据分区的步骤,包括:
根据新增元数据节点后元数据节点集群中的元数据节点总数和元数据分区总数,依据负载均衡原则确定原有元数据节点中需迁出的至少一个待迁出元数据分区。
在其中一个实施例中,所述方法还包括:
当接收到待存储元数据时,对所述待存储元数据进行哈希计算,确定所述待存储元数据应存入的元数据服务;
将所述待存储元数据分配至确定的元数据服务上,通过所述确定的元数据服务将所述待存储元数据存储在所述元数据服务对应的元数据分区中。
在其中一个实施例中,所述元数据节点集群中的每个元数据节点上部署有多个元数据服务,采用以下实现方式:
在每个元数据节点上直接部署元数据服务,每个元数据服务使用不同的IP地址,数据存放在不同的路径。
在其中一个实施例中,所述元数据节点集群中的每个元数据节点上部署有多个元数据服务,采用以下实现方式:
在每个元数据节点上部署元数据服务,每个元数据服务运行在不同的容器中,每个容器具有不同的IP地址,数据存放在不同的路径下。
在其中一个实施例中,所述元数据节点集群中的每个元数据节点上部署有多个元数据服务,采用以下实现方式:
在每个元数据节点上部署元数据服务,每个元数据服务运行在不同的虚拟机中,每个虚拟机具有不同的IP地址,数据存放在不同的路径下。
在其中一个实施例中,所述元数据节点集群中每个元数据节点设有对应的一个元数据备节点,所述元数据节点作为主节点和所述元数据备节点组成一个双击热备组,所述元数据备节点实时从主节点同步数据。
一种元数据节点集群的扩容***,所述元数据节点集群中的每个元数据节点上部署有多个元数据服务,每个所述元数据服务单独对应一个元数据分区,所述***包括:
节点增加单元,用于新增元数据节点;
待迁出分区确定模块,用于确定原有元数据节点中需迁出的至少一个待迁出元数据分区;
服务配置模块,用于在新增的元数据节点上部署相应的元数据服务,在新增的元数据节点上部署的元数据服务与待迁出的元数据分区对应的元数据服务配置一致;以及
分区迁移单元,用于将所述待迁入元数据分区迁移至新增的元数据节点中。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述元数据节点集群的扩容方法所述的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述元数据节点集群的扩容方法所述的步骤。
上述元数据节点集群的扩容方法、***、设备和存储介质中,元数据节点集群中每个元数据节点上部署有多个元数据服务,每个元数据服务单独对应一个元数据分区,在新增元数据节点后,将原有元数据节点中的待迁出元数据分区迁移至新增的元数据节点中,无需将元数据集中处理,也无需对元数据进行拆分,整个扩容过程的数据迁移量少,降低了元数据节点集群扩容的复杂度,降低了扩容过程中元数据发生错乱的概率,提高了元数据节点集群扩容的效率和效果。
附图说明
图1为一个实施例中元数据节点集群的扩容方法的应用环境图;
图2为一个实施例中元数据节点集群的扩容方法的流程示意图;
图3为另一个实施例中元数据节点集群的扩容方法的流程示意图;
图4为一个实施例中元数据节点集群的扩容方法中待迁出元数据分区迁移之前原有元数据节点的结构示例图;
图5为一个实施例中元数据节点集群的扩容方法中待迁出元数据分区的迁移过程示例图;
图6为一个实施例中元数据节点集群的扩容方法中待迁出元数据分区迁移结束后各元数据节点的结构示例图;
图7为一个实施例中存储***的结构示意图;
图8为一个实施例中存储***的结构示意图;
图9为一个实施例中存储***的结构示意图;
图10为一个实施例中元数据节点集群的扩容***的结构框图;以及.
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的元数据节点集群的扩容方法,可以应用于如图1所示的应用环境中。其中,服务器140组成服务器集群,可对用户数据进行分布式存储,终端102通过网络与由服务器104组成的服务器集群通过网络进行通信,以写入或读取数据。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
在一个实施例中,如图2所示,提供了一种元数据节点集群的扩容方法,以该方法应用于图1中的服务器集群为例进行说明,包括以下步骤:
步骤202,新增元数据节点。
具体的,元数据节点为存储元数据的服务器,可称为元数据服务器(MetaDataServer,简称MDS)。在元数据节点所在的存储***中,元数据节点集群包括所有的元数据节点,每个元数据节点上部署有多个元数据服务,每个元数据服务单独对应一个元数据分区。其中,所有元数据分区中存储的元数据构成整个存储***的元数据,元数据服务为对元数据分区进行管理(或服务)的服务程序,例如对元数据分区进行元数据存储、对读取元数据分区中元数据的请求进行响应。
具体的,当元数据节点集群所在存储***需要存储的元数据增多时,或者当原有元数据节点的负载压力过高时,新增元数据节点,即增加元数据服务器。
步骤204,确定原有元数据节点中需迁出的至少一个待迁出元数据分区。
具体的,新增元数据节点后,元数据节点集群包括原有元数据节点和新增的元数据节点。原有元数据节点下部署有元数据服务,每个元数据服务又单独对应的一个元数据分区,即元数据服务与元数据分区为一一映射的绑定关系。而新增的元数据节点中尚未部署元数据服务,也未分配元数据。在元数据节点集群的扩容过程中,新增元数据节点的目的在于减轻原有元数据节点的负载压力,同时提高元数据节点集群的元数据存储量。因此,在新增元数据节点后,确定原有元数据节点中的至少一个待迁出元数据分区,待迁出元数据分区即需要从原有元数据节点中迁出的元数据分区。
步骤206,在新增的元数据节点上部署相应的元数据服务,在新增的元数据节点上部署的元数据服务与待迁出元数据分区对应的元数据服务配置一致。
具体的,在确定原有元数据节点上的待迁出元数据分区后,在新增的元数据节点上部署相应的元数据服务,新增的元数据节点上所部署的元数据服务用来管理待迁出元数据分区。在新增的元数据节点上部署的元数据服务,与待迁出元数据分区在原有元数据节点上所对应的元数据服务配置一致,从而保证元数据分区迁移前后元数据服务的一致性,避免元数据节点集群发生数据错乱。其中,元数据服务配置一致包括元数据分区信息(元数据分区的文件大小、文件名、存储路径等)一致和元数据服务的运行参数一致。
当新增元数据节点的数目为两个或两个以上时,将待迁出元数据分区分配给新增的元数据节点,在新增的元数据节点上部署用来管理自身分配到的待迁出元数据分区的元数据服务。
步骤208,将待迁出元数据分区迁移至新增的元数据节点中。
具体的,在新增的元数据节点上部署好相应的元数据服务后,将待迁出元数据分区存储到新增的元数据节点中,实现待迁出元数据分区从原有元数据节点到新增元数据节点的迁移,完成元数据节点集群的扩容。
在另一个实施例中,如图3所示,提供了一种元数据节点集群的扩容方法,以该方法应用于图1中的服务器集群为例进行说明,包括以下步骤:
步骤301,新增元数据节点。
具体的,新增元数据节点,即在原有元数据节点所在的存储***中增加元数据服务器。在元数据节点所在的存储***中,每个元数据节点上部署有多个元数据服务,每个元数据服务又单独对应的一个元数据分区。
步骤302,根据新增元数据节点后元数据节点集群中的元数据节点总数和元数据分区总数,依据负载均衡原则确定原有元数据节点中需迁出的至少一个待迁出元数据分区。
具体的,新增元数据节点后,获取新增元数据节点后元数据节点集群中元数据节点的总数和元数据分区的总数,依据获取的元数据节点总数、元数据分区总数和负载均衡原则,确定原有元数据节点中需要迁出的待迁出元数据分区,从而在对元数据节点集群进行扩容的同时,保证元数据节点所负载的元数据分区数量的均衡,进而提高元数据节点集群的扩容效果。
在一个实施例中,在依据元数据节点总数、元数据分区总数和负载均衡原则确定原有元数据节点中的待迁出元数据分区时,计算单个元数据节点上元数据分区的平均数量,当原有元数据节点上元数据分区数量超过该平均数量时,在原有元数据节点上保留该平均数量个元数据分区,将剩余的元数据分区设置为待迁出元数据分区。此外,还可以依据原有元数据节点的负载能力选取待迁出元数据分区,以使原有元数据节点的当前负载在元数据节点负载承受范围内。
步骤303,在新增的元数据节点上部署相应的元数据服务,在新增的元数据节点上部署的元数据服务与待迁出元数据分区对应的元数据服务配置一致。
具体的,在确定原有元数据节点上的待迁出元数据分区后,在新增的元数据节点上部署相应的元数据服务,新增的元数据节点上所部署的元数据服务用来管理待迁出元数据分区。在新增的元数据节点上部署的元数据服务,与待迁出元数据分区在原有元数据节点上所对应的元数据服务配置一致,从而保证元数据分区迁移前后元数据服务的一致性,避免元数据节点集群发生数据错乱。
当新增元数据节点的数目为两个或两个以上时,将待迁出元数据分区分配给新增的元数据节点,在新增的元数据节点上部署用来管理自身分配到的待迁出元数据分区的元数据服务。
步骤304,将待迁出元数据分区迁移到新增的元数据节点中。
具体地,在新增的元数据节点部署好相应的元数据服务后,将待迁出元数据分区存储到新增的元数据节点中,实现待迁出元数据分区的迁移,同时完成元数据节点集群的扩容。
作为示例地,在图4、图5和图6中,元数据节点集群中原有元数据节点为元数据节点1和元数据节点2,元数据节点1部署有元数据服务1、元数据服务2和元数据服务3,元数据节点2部署有元数据服务4、元数据服务5和元数据服务6。在元数据节点集群中新增元数据节点3,此时元数据节点集群中元数据节点的总数为3和元数据分区的总数为6,依据负载均衡原则,每个元数据节点应部署有两个元数据服务,需要在元数据节点1和元数据节点2中分别选择一个待迁出元数据分区。在元数据节点1中选出元数据分区3作为待迁出元数据分区,在元数据节点2中选出元数据分区6作为待迁出元数据分区,由于元数据分区3在元数据节点1中对应元数据服务3,元数据分区6在元数据节点2对应元数据服务6,在元数据节点3部署分别与元数据服务3和元数据服务6配置一致的元数据服务,为了便于理解,图5中元数据节点3中部署的元数据服务同样命名为元数据服务3和元数据服务6,将元数据分区3、元数据分区6分别迁移至元数据节点3中的元数据服务3和元数据服务6,完成对元数据节点集群的扩容。
在一个实施例中,当元数据集群所在的存储***接收到待存储元数据时,对待存储元数据进行哈希计算,依据哈希计算的结果确定待存储元数据应存入的元数据服务,将待存储元数据分配至确定的元数据服务上,通过确定的元数据服务将待存储元数据存储在元数据服务对应的元数据分区中。其中,对待存储元数据的预设键值(如待存储元数据的文件名、路径名或者文件标识等)进行哈希计算,实现对不同待存储元数据的分区存储。
在一个实施例中,元数据集群所在的存储***还包括代理节点,代理节点为用于对用户数据和元数据的写入读出进行管理的服务器,在代理节点中部署有代理服务,代理服务为用于实现代理节点功能的服务程序。在存储***接收到待存储元数据时,代理节点中的代理服务对待存储元数据进行哈希计算,确定待存储元数据对应的元数据服务。元数据节点集群扩容前后,待迁移元数据分区的元数据服务配置一致,待迁移元数据分区中的元数据也一致,因此在扩容过程中无需改变对元数据进行分区的哈希规则,代理服务也不需要做任何修改,有效地降低了元数据节点集群扩容的复杂度,提高效率。
在一个实施例中,元数据节点集群中每个元数据节点在部署元数据服务时,每个元数据服务使用不同的IP地址,且数据存放在不同的路径,以实现每个元数据节点上部署有多个元数据服务、且每个元数据服务单独对应一个元数据分区。其中,元数据服务中的数据包括元数据分区信息和元数据服务的运行参数。
在一个实施例中,每个元数据服务使用不同的IP地址、且数据存放在不同的路径,可通过采用容器或虚拟机的方式实现,以提高元数据服务的部署效果。具体的,每个元数据服务运行在不同的容器中,每个容器具有不同的IP地址,数据存放在不同的路径下;或者,每个元数据服务运行在不同的虚拟机中,每个虚拟机具有不同的IP地址,数据存放在不同的路径。
在一个实施例中,每个元数据节点设有对应的一个元数据备节点,元数据节点作为主节点与相应的元数据备节点组成一个双机热备组,在双机热备组中元数据备节点从主节点中同步数据,在元数据节点或元数据备节点中的任一节点发生故障(例如数据无法读取或写入、数据读出错误)时,可以随时从双机热备组中的另一节点中获得数据支持,从而有效地提高了存储***的稳定性和可靠性。
上述元数据节点集群的扩容方法中,在元数据节点中部署有多个元数据服务,每个元数据服务单独对应一个元数据分区,依据负载均衡原则确定好原有元数据节点中的待迁出元数据分区,将待迁出的元数据分区迁移至新增元数据节点的元数据服务中,从而在扩容过程中无需对元数据进行拆分,也无需聚集多个原有元数据节点中的元数据,有效地降低元数据节点集群扩容的复杂度,降低了扩容过程中元数据发生错乱的概率,提高元数据节点集群扩容的效率和效果。
应该理解的是,虽然图2~3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2~3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供一种存储***,该存储***包括存储节点和元数据节点,存储节点为用于存储用户数据的服务器,元数据节点为用于存储用户数据的元数据的服务器。在存储节点中部署有存储服务,存储服务用于对用户数据进行存储管理,在元数据节点中部署有多个元数据服务,元数据服务用于对元数据进行存储管理,每个元数据服务单独对应一个元数据分区。其中,图7中m表示元数据节点的个数,n表示存储节点的个数。
具体的,每个元数据节点在部署元数据服务时,每个元数据服务使用不同的IP地址,且数据存放在不同的路径,以实现每个元数据节点上部署有多个元数据服务、且每个元数据服务单独对应一个元数据分区的***结构。其中,元数据服务中的数据包括元数据分区信息和元数据服务的运行参数。。
在一个可选的实施例中,每个元数据服务使用不同的IP地址、且数据存放在不同的路径,可通过采用容器或虚拟机的方式实现,以提高元数据服务的部署效果。具体的,每个元数据服务运行在不同的容器中,每个容器具有不同的IP地址,数据存放在不同的路径下;或者,每个元数据服务运行在不同的虚拟机中,每个虚拟机具有不同的IP地址,数据存放在不同的路径。
具体的,当存储***接收到待存储元数据时,对待存储元数据进行哈希计算,确定待存储元数据应存入的元数据服务,将待存储元数据分配至确定的元数据服务上,通过确定的元数据服务将待存储元数据存储在元数据服务对应的元数据分区中,完成元数据的写入。其中,对待存储元数据的预设键值(如待存储元数据的文件名、路径名或者文件标识等)进行哈希计算。
具体的,当对该存储***中的元数据节点集群进行扩充时,在存储***中新增元数据节点,并确定存储***中原有元数据节点中需迁出的至少一个待迁出元数据分区,在新增的元数据节点上部署相应的元数据服务,将待迁出元数据分区迁移到新增的元数据节点中,其中,新增的元数据节点上部署的元数据服务于待迁出元数据分区在原有元数据节点中对应的元数据服务配置一致。存储***中元数据节点集群的扩充过程可参照上述方法实施例的各步骤,在此不再赘述。
在一个可选的实施例中,如图8所示,存储***还包括代理节点,代理节点为用于对用户数据和元数据的写入读出进行管理的服务器,在代理节点中部署有代理服务,代理服务用来实现代理节点的功能。在存储***接收到待存储元数据时,由代理节点对待存储元数据进行哈希计算,确定待存储元数据对应的元数据服务。元数据节点集群扩容前后,待迁移元数据分区的元数据服务配置一致,待迁移元数据分区中的元数据也一致,因此在扩容过程中无需改变对元数据进行分区的哈希规则,代理服务也不需要做任何修改,有效地降低了元数据节点集群扩容的复杂度,提高效率。其中,图8中k表示代理节点的个数。
具体的,存储节点、元数据节点以及代理节点的数目,可根据实际情况进行设计,在此不作限制。
在一个实施例中,如图9所示,每个元数据节点设有对应的一个元数据备节点,元数据节点作为主节点与相应的元数据备节点组成一个双机热备组,在双机热备组中元数据备节点从主节点中同步数据,在元数据节点或元数据备节点中的任一节点发生故障(例如数据无法读取或写入、数据读出错误)时,可以随时从双机热备组中的另一节点中获得数据支持,从而有效地提高了存储***的稳定性和可靠性。
在一个实施例中,如图10所示,提供了一种元数据节点集群的扩容***1000,包括:节点增加单元1002、待迁出分区确定单元1004、服务部署单元1006和分区迁移单元1008,其中:
节点增加单元1002,用于新增元数据节点;
待迁出分区确定单元1004,用于确定原有元数据节点中迁出的至少一个待迁出元数据分区;
服务部署单元1006,用于在新增的元数据节点上部署相应的元数据服务,在新增的元数据节点上部署的元数据服务与待迁出的元数据分区对应的元数据服务配置一致;以及
分区迁移单元1008,用于将待迁入元数据分区迁移至新增的元数据节点中。
在一个实施例中,待迁出分区确定单元1004包括:
负载均衡确定单元,用于根据新增元数据节点后元数据节点集群中的元数据节点总数和元数据分区总数,依据负载均衡原则确定原有元数据节点中需迁出的至少一个待迁出元数据分区。
在一个实施例中,元数据节点集群的扩容***1000还包括:
哈希计算单元,用于当接收到待存储元数据时,对待存储元数据进行哈希计算,确定待存储元数据应存入的元数据服务;
元数据存储单元,用于将待存储元数据分配至确定的元数据服务上,通过确定的元数据服务将待存储元数据存储在元数据服务对应的元数据分区中。
在一个实施例中,元数据节点集群的扩容***1000还包括:
元数据服务部署单元,用于在每个元数据节点上直接部署元数据服务,每个元数据服务使用不同的IP地址,数据存放在不同的路径。
在一个实施例中,元数据节点集群的扩容***1000还包括:
容器部署单元,用于在每个元数据节点上部署元数据服务,每个元数据服务运行在不同的容器中,每个容器具有不同的IP地址,数据存放在不同的路径下。
在一个实施例中,元数据节点集群的扩容***1000还包括:
虚拟机部署单元,用于在每个元数据节点上部署元数据服务,每个元数据服务运行在不同的虚拟机中,每个虚拟机具有不同的IP地址,数据存放在不同的路径下。
在一个实施例中,在元数据节点集群的扩容***1000中,元数据节点集群中每个元数据节点设有对应的一个元数据备节点,元数据节点作为主节点和元数据备节点组成一个双机热备组,元数据备节点实时从主节点同步数据。
关于上述元数据节点集群的扩容***的具体限定可以参见上文中对于元数据节点集群的扩容方法的限定,在此不再赘述。上述元数据节点集群的扩容***中的各个单元可全部或部分通过软件、硬件及其组合来实现。上述各单元可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储用户数据和用户数据的元数据等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种元数据节点集群的扩容方法。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
新增元数据节点;
确定原有元数据节点中需迁出的至少一个待迁出元数据分区;
在新增的元数据节点上部署相应的元数据服务,在新增的元数据节点上部署的元数据服务与待迁出元数据分区对应的元数据服务配置一致;
将待迁出元数据分区迁移到新增的元数据节点中。
在一个实施例中,该处理器执行计算机程序时还实现以下步骤:
根据新增元数据节点后元数据节点集群中的元数据节点总数和元数据分区总数,依据负载均衡原则确定原有元数据节点中需迁出的至少一个待迁出元数据分区。
在一个实施例中,该处理器执行计算机程序时还实现以下步骤:
当接收到待存储元数据时,对待存储元数据进行哈希计算,确定待存储元数据应存入的元数据服务;
将待存储元数据分配至确定的元数据服务上,通过确定的元数据服务将待存储元数据存储在元数据服务对应的元数据分区中。
在一个实施例中,该处理器执行计算机程序时还实现以下步骤:
在每个元数据节点上直接部署元数据服务,每个元数据服务使用不同的IP地址,数据存放在不同的路径。
在一个实施例中,该处理器执行计算机程序时还实现以下步骤:
在每个元数据节点上部署元数据服务,每个元数据服务运行在不同的容器中,每个容器具有不同的IP地址,数据存放在不同的路径下。
在一个实施例中,该处理器执行计算机程序时还实现以下步骤:
在每个元数据节点上部署元数据服务,每个元数据服务运行在不同的虚拟机中,每个虚拟机具有不同的IP地址,数据存放在不同的路径下。
在一个实施例中,元数据节点集群中每个元数据节点设有对应的一个元数据备节点,元数据节点作为主节点和元数据备节点组成一个双机热备组,元数据备节点实时从主节点同步数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
新增元数据节点;
确定原有元数据节点中需迁出的至少一个待迁出元数据分区;
在新增的元数据节点上部署相应的元数据服务,在新增的元数据节点上部署的元数据服务与待迁出元数据分区对应的元数据服务配置一致;
将待迁出元数据分区迁移到新增的元数据节点中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据新增元数据节点后元数据节点集群中的元数据节点总数和元数据分区总数,依据负载均衡原则确定原有元数据节点中需迁出的至少一个待迁出元数据分区。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当接收到待存储元数据时,对待存储元数据进行哈希计算,确定待存储元数据应存入的元数据服务;
将待存储元数据分配至确定的元数据服务上,通过确定的元数据服务将待存储元数据存储在元数据服务对应的元数据分区中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在每个元数据节点上直接部署元数据服务,每个元数据服务使用不同的IP地址,数据存放在不同的路径。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在每个元数据节点上部署元数据服务,每个元数据服务运行在不同的容器中,每个容器具有不同的IP地址,数据存放在不同的路径下。在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在每个元数据节点上部署元数据服务,每个元数据服务运行在不同的虚拟机中,每个虚拟机具有不同的IP地址,数据存放在不同的路径下。
在一个实施例中,元数据节点集群中每个元数据节点设有对应的一个元数据备节点,元数据节点作为主节点和元数据备节点组成一个双机热备组,元数据备节点实时从主节点同步数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种元数据节点集群的扩容方法,其特征在于,所述元数据节点集群中的每个元数据节点上部署有多个元数据服务,每个所述元数据服务单独对应一个元数据分区;所述方法包括:
新增元数据节点;
确定原有元数据节点中需迁出的至少一个待迁出元数据分区;
在新增的元数据节点上部署相应的元数据服务,在新增的元数据节点上部署的元数据服务与待迁出元数据分区对应的元数据服务配置一致;所述元数据服务配置一致包括元数据分区信息一致和元数据服务的运行参数一致;
将所述待迁出元数据分区迁移到新增的元数据节点中。
2.如权利要求1所述的方法,其特征在于,所述确定原有元数据节点中需迁出的至少一个待迁出元数据分区的步骤,包括:
根据新增元数据节点后元数据节点集群中的元数据节点总数和元数据分区总数,依据负载均衡原则确定原有元数据节点中需迁出的至少一个待迁出元数据分区。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到待存储元数据时,对所述待存储元数据进行哈希计算,确定所述待存储元数据应存入的元数据服务;
将所述待存储元数据分配至确定的元数据服务上,通过所述确定的元数据服务将所述待存储元数据存储在所述元数据服务对应的元数据分区中。
4.根据权利要求1所述的方法,其特征在于,所述元数据节点集群中的每个元数据节点上部署有多个元数据服务,采用以下实现方式:
在每个元数据节点上直接部署元数据服务,每个元数据服务使用不同的IP地址,数据存放在不同的路径。
5.根据权利要求1所述的方法,其特征在于,所述元数据节点集群中的每个元数据节点上部署有多个元数据服务,采用以下实现方式:
在每个元数据节点上部署元数据服务,每个元数据服务运行在不同的容器中,每个容器具有不同的IP地址,数据存放在不同的路径下。
6.根据权利要求1所述的方法,其特征在于,所述元数据节点集群中的每个元数据节点上部署有多个元数据服务,采用以下实现方式:
在每个元数据节点上部署元数据服务,每个元数据服务运行在不同的虚拟机中,每个虚拟机具有不同的IP地址,数据存放在不同的路径下。
7.如权利要求1所述的方法,其特征在于,所述元数据节点集群中每个元数据节点设有对应的一个元数据备节点,所述元数据节点作为主节点和所述元数据备节点组成一个双机热备组,所述元数据备节点实时从主节点同步数据。
8.一种元数据节点集群的扩容***,其特征在于,所述元数据节点集群中的每个元数据节点上部署有多个元数据服务,每个所述元数据服务单独对应一个元数据分区,所述***包括:
节点增加单元,用于新增元数据节点;
待迁出分区确定单元,用于确定原有元数据节点中需迁出的至少一个待迁出元数据分区;以及
服务部署单元,用于在新增的元数据节点上部署相应的元数据服务,在新增的元数据节点上部署的元数据服务与待迁出的元数据分区对应的元数据服务配置一致;所述元数据服务配置一致包括元数据分区信息一致和元数据服务的运行参数一致;以及
分区迁移单元,用于将所述待迁入元数据分区迁移至新增的元数据节点中。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910303483.5A CN110213326B (zh) | 2019-04-15 | 2019-04-15 | 元数据节点集群的扩容方法、***、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910303483.5A CN110213326B (zh) | 2019-04-15 | 2019-04-15 | 元数据节点集群的扩容方法、***、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110213326A CN110213326A (zh) | 2019-09-06 |
CN110213326B true CN110213326B (zh) | 2022-03-01 |
Family
ID=67785342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910303483.5A Active CN110213326B (zh) | 2019-04-15 | 2019-04-15 | 元数据节点集群的扩容方法、***、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110213326B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111723148B (zh) * | 2020-04-10 | 2024-01-26 | 浙江大华技术股份有限公司 | 数据存储方法及装置、存储介质、电子装置 |
CN113553314A (zh) * | 2021-07-16 | 2021-10-26 | 北京天融信网络安全技术有限公司 | 一种超融合***的服务处理方法、装置、设备及介质 |
CN113467722B (zh) * | 2021-07-26 | 2024-04-30 | 浙江大华技术股份有限公司 | 一种分布式存储***的数据迁移方法及装置 |
CN114979162B (zh) * | 2022-05-16 | 2024-02-09 | 中国工商银行股份有限公司 | 节点部署方法和网络*** |
CN117348975B (zh) * | 2023-12-05 | 2024-03-15 | 中电云计算技术有限公司 | 集群的部署方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354726A (zh) * | 2008-09-17 | 2009-01-28 | 中国科学院计算技术研究所 | 一种机群文件***的内存元数据管理方法 |
CN103229487A (zh) * | 2012-12-27 | 2013-07-31 | 华为技术有限公司 | 分布式存储***中的分区平衡方法、装置及服务器 |
CN105468473A (zh) * | 2014-07-16 | 2016-04-06 | 北京奇虎科技有限公司 | 数据迁移方法及数据迁移装置 |
CN107395721A (zh) * | 2017-07-20 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种元数据集群扩容的方法和*** |
CN107528924A (zh) * | 2017-10-09 | 2017-12-29 | 郑州云海信息技术有限公司 | 一种分布式集群元数据服务部署方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8595184B2 (en) * | 2010-05-19 | 2013-11-26 | Microsoft Corporation | Scaleable fault-tolerant metadata service |
-
2019
- 2019-04-15 CN CN201910303483.5A patent/CN110213326B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354726A (zh) * | 2008-09-17 | 2009-01-28 | 中国科学院计算技术研究所 | 一种机群文件***的内存元数据管理方法 |
CN103229487A (zh) * | 2012-12-27 | 2013-07-31 | 华为技术有限公司 | 分布式存储***中的分区平衡方法、装置及服务器 |
CN105468473A (zh) * | 2014-07-16 | 2016-04-06 | 北京奇虎科技有限公司 | 数据迁移方法及数据迁移装置 |
CN107395721A (zh) * | 2017-07-20 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种元数据集群扩容的方法和*** |
CN107528924A (zh) * | 2017-10-09 | 2017-12-29 | 郑州云海信息技术有限公司 | 一种分布式集群元数据服务部署方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN110213326A (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110213326B (zh) | 元数据节点集群的扩容方法、***、设备和存储介质 | |
CN110535969B (zh) | 基于区块链网络的数据存储方法、装置、存储介质和设备 | |
CN107231399B (zh) | 高可用服务器集群的扩容方法以及装置 | |
CN110196729B (zh) | 应用程序更新方法、设备和装置及存储介质 | |
EP3432132B1 (en) | Data storage method and device | |
CN109299190B (zh) | 分布式存储***中处理对象的元数据的方法及装置 | |
CN105744001B (zh) | 分布式缓存***扩容方法、数据访问方法及装置和*** | |
CN110968647A (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN111338779B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN104572242A (zh) | 一种扩展虚拟机磁盘空间的方法、装置及虚拟机*** | |
CN107391033B (zh) | 数据迁移方法及装置、计算设备、计算机存储介质 | |
CN110674095B (zh) | 一种ctdb集群扩展方法、装置、设备及可读存储介质 | |
CN112256433B (zh) | 基于Kafka集群的分区迁移方法和装置 | |
CN109325026B (zh) | 基于大数据平台的数据处理方法、装置、设备及介质 | |
CN113849266A (zh) | 多Kubernetes集群的业务部署方法及装置 | |
CN104054076A (zh) | 数据存储方法、数据库存储节点故障处理方法及装置 | |
CN115167992A (zh) | 任务处理方法、***、装置、服务器、介质及程序产品 | |
CN107943615B (zh) | 基于分布式集群的数据处理方法与*** | |
CN109005071B (zh) | 一种决策部署方法和调度设备 | |
CN115438021A (zh) | 一种数据库服务器的资源配置方法及装置 | |
CN114443223A (zh) | 一种裸机磁盘管理方法、装置及介质 | |
CN114610243A (zh) | 一种精简卷转换方法、***、存储介质及设备 | |
CN114217956A (zh) | 容器集群的部署方法、装置及计算机设备 | |
CN113934377A (zh) | 一种元数据集群部署方法、装置、设备及可读存储介质 | |
CN111708626A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |