logo好方法网

一种分布式多分片集群的部署方法、装置及存储介质


技术摘要:
本发明提出了一种分布式多分片集群的部署方法、装置及存储介质,该方法包括:配置服务器的配置步骤,基于配置服务器的IP将配置服务器配置为不同的服务类型并创建配置文件;分片服务器的配置步骤,基于分片服务器的数量将一个分片服务器上的主节点、副本集节点和仲裁节  全部
背景技术:
随着社会的发展,科技的进步,传统的单机架构模式已经远远的不能满足我们日 益增长的数据存储需求。为了满足数据的高效存储和查询,我们数据库模式从单机到主从, 然后到分布式架构最后又衍生出了多分片和副本集的集群模式。现如今4G普及5G到来的互 联网趋势下,大量实时数据的高速增长,尤其是互联网的实时访问数据、日志数据等,如今 社交数据、企业内容、交易与应用数据等新数据源的兴起,传统数据源的局限被打破,企业 越发需要有效的信息来确保其真实性及安全性,越发需要合理、安全、高性能的集群模式来 保证数据的可靠性和可用性,以及出现故障之后确保及时的进行故障修复。 在实际的生产环境中,为了保证数据的安全性、并发性、可用性、完整性和及时的 故障恢复,目前采用的主要技术是分布式 多分片 副本集的集群模式。但是,分布式 多分 片 副本集集群模式的部署面临很大的挑战,目前采用最多的方式就是手动为每个节点创 建分片、创建目录、创建配置文件、选择端口号、分片节点副本集的分配、不同角色的选择、 分片集的初始化等一系列复杂的操作。 目前部署分布式 多分片 副本集的集群,需要在安装之前进行详细的规划,如考 虑分片的副本集,设计目录结构,规划每个实例的端口号,即使是在安装之前进行详细的规 划也避免不了在手动创建文件、创建目录的时候出错,导致一个分片上来自不同副本集节 点的混乱。手动操作这样的错误是很难避免的,同时出了问题也是很难发现的,他会直接导 致数据的分派不均,影响数据的安全性和完整性。如果是在集群规模大,分片数量多的情况 下,手动规划安装部署就变得不可能。
技术实现要素:
本发明针对上述现有技术中的缺陷,提出了如下技术方案。 一种分布式多分片集群的部署方法,该方法包括: 配置服务器的配置步骤,基于配置服务器的IP将配置服务器配置为不同的服务类 型并创建配置文件; 分片服务器的配置步骤,基于分片服务器的数量将一个分片服务器上的主节点、 副本集节点和仲裁节点分别设置属于不同的服务器节点上; 路由服务器的配置步骤,用于建立路由服务与分片服务之间的对应关系。 更进一步地,所述集群为MongoDB分布式数据库集群,所述MongoDB分布式集群由 配置服务器、分片服务器和路由服务器组成,所述配置服务器为至少一台配置服务器 configserver,所述分片服务器为多个分片服务器shard,所述路由服务器为多个路由服务 器mongos。 5 CN 111614733 A 说 明 书 2/8 页 更进一步地,所述将配置服务器配置为不同的服务类型并创建配置文件的操作 为:解析配置服务器的IP,根据IP数目确定配置服务器的数目,在每一台配置服务器 configserver中创建配置服务的配置文件,所述配置文件包含了数据目录、日志目录和服 务端口号;如果配置服务器的数目为1,则登录MongoDB分布式数据将该一台配置服务器初 始化为主节点;如果配置服务器的数目为2,则登录MongoDB分布式数据将该一台配置服务 器初始化为主节点和备节点;如果配置服务器的数目为3,则登录MongoDB分布式数据将该 一台配置服务器初始化为主节点、备节点和仲裁节点。 更进一步地,所述分片服务器的配置步骤的操作为: 解析每一个分片服务器的IP,并创建分片服务器的数组sinos用于每一个分片服 务器的IP,根据所述数组sinos中的IP计算分片服务器的数量num,定义变量startpos=0, 记录数组sinos的起始位置;定义变量port记录分片服务器端口号的开始值,使用port 1循 环处理为其他的分片服务器配置端口号;定义变量post=1,用于记录当前已处理的分片服 务器的数目; 定义变量flag=0,用来记录数组sinos的下标; 循环构建副本集,总共循环3次,记录一个分片服务器上分配的主节点、备份节点 和仲裁节点:定义变量subscript记录数组sinos的下标,初始值为0,判断如果subscript小 于分片服务器的数量num,则取数组sinos中下标为subscript的值记录在变量sship中,否 则取数组sinos中下标为flag的值记录在变量sship中,之后flag 1;远程到IP地址为sship 的分片服务器上创建数据目录、日志目录以及启动的配置文件,定义一个变量array数组用 来记录一个分片服务器上的主节点、备份节点和仲裁节点的IP地址,该数组的值用于在初 始化副本集的时候读取; 远程登录到IP地址为sinos[post]的分片服务器,登录MongoDB,读取array数组中 的IP地址来初始化副本集,并定义变量数组arrayShardServer,存储每个分片的信息,用于 在初始化路由服务器的时候串联路由服务器和分片服务器;然后startpos 1,post 1,对其 余的分片服务器进行配置,直到post大于num,完成所有分片服务器的配置。 更进一步地,所述建立路由服务与分片服务之间的对应关系的操作为:解析所有 路由服务器的IP地址,登录每一个IP地址在每一个路由服务器创建相关目录和配置文件; 循环arrayShardServer数组中分片服务器,使用其中之一的路由服务器登录MongoDB,串联 路由服务器和分片服务器以建立路由服务与分片服务之间的对应关系。 本发明还提出了一种分布式多分片集群的部署装置,该装置包括: 配置服务器的配置单元,基于配置服务器的IP将配置服务器配置为不同的服务类 型并创建配置文件; 分片服务器的配置单元,基于分片服务器的数量将一个分片服务器上的主节点、 副本集节点和仲裁节点分别设置属于不同的服务器节点上; 路由服务器的配置单元,用于建立路由服务与分片服务之间的对应关系。 更进一步地,所述集群为MongoDB分布式数据库集群,所述MongoDB分布式集群由 配置服务器、分片服务器和路由服务器组成,所述配置服务器为至少一台配置服务器 configserver,所述分片服务器为多个分片服务器shard,所述路由服务器为多个路由服务 器mongos。 6 CN 111614733 A 说 明 书 3/8 页 更进一步地,所述将配置服务器配置为不同的服务类型并创建配置文件的操作 为:解析配置服务器的IP,根据IP数目确定配置服务器的数目,在每一台配置服务器 configserver中创建配置服务的配置文件,所述配置文件包含了数据目录、日志目录和服 务端口号;如果配置服务器的数目为1,则登录MongoDB分布式数据将该一台配置服务器初 始化为主节点;如果配置服务器的数目为2,则登录MongoDB分布式数据将该一台配置服务 器初始化为主节点和备节点;如果配置服务器的数目为3,则登录MongoDB分布式数据将该 一台配置服务器初始化为主节点、备节点和仲裁节点。 更进一步地,所述分片服务器的配置单元的操作为: 解析每一个分片服务器的IP,并创建分片服务器的数组sinos用于每一个分片服 务器的IP,根据所述数组sinos中的IP计算分片服务器的数量num,定义变量startpos=0, 记录数组sinos的起始位置;定义变量port记录分片服务器端口号的开始值,使用port 1循 环处理为其他的分片服务器配置端口号;定义变量post=1,用于记录当前已处理的分片服 务器的数目; 定义变量flag=0,用来记录数组sinos的下标; 循环构建副本集,总共循环3次,记录一个分片服务器上分配的主节点、备份节点 和仲裁节点:定义变量subscript记录数组sinos的下标,初始值为0,判断如果subscript小 于分片服务器的数量num,则取数组sinos中下标为subscript的值记录在变量sship中,否 则取数组sinos中下标为flag的值记录在变量sship中,之后flag 1;远程到IP地址为sship 的分片服务器上创建数据目录、日志目录以及启动的配置文件,定义一个变量array数组用 来记录一个分片服务器上的主节点、备份节点和仲裁节点的IP地址,该数组的值用于在初 始化副本集的时候读取; 远程登录到IP地址为sinos[post]的分片服务器,登录MongoDB,读取array数组中 的IP地址来初始化副本集,并定义变量数组arrayShardServer,存储每个分片的信息,用于 在初始化路由服务器的时候串联路由服务器和分片服务器;然后startpos 1,post 1,对其 余的分片服务器进行配置,直到post大于num,完成所有分片服务器的配置。 更进一步地,所述建立路由服务与分片服务之间的对应关系的操作为:解析所有 路由服务器的IP地址,登录每一个IP地址在每一个路由服务器创建相关目录和配置文件; 循环arrayShardServer数组中分片服务器,使用其中之一的路由服务器登录MongoDB,串联 路由服务器和分片服务器以建立路由服务与分片服务之间的对应关系。 本发明还提出了一种计算机可读存储介质,所述存储介质上存储有计算机程序代 码,当所述计算机程序代码被计算机执行时执行上述之任一的方法。 本发明的技术效果在于:本发明的一种分布式多分片集群的部署方法,其特征在 于,该方法包括:配置服务器的配置步骤,基于配置服务器的IP将配置服务器配置为不同的 服务类型并创建配置文件;分片服务器的配置步骤,基于分片服务器的数量将一个分片服 务器上的主节点、副本集节点和仲裁节点分别设置属于不同的服务器节点上;路由服务器 的配置步骤,用于建立路由服务与分片服务之间的对应关系。本发明利用循环算法,将一个 分片的副本集配置成非本机节点,如果循环到最后一个分片,他的副本集就是第一个分片, 使得数据在不同的节点有个备份,确保了数据的完整性。从而实现了高效、快速地部署服 务,适用于在分布式、多分片以及副本集配置的场景。 7 CN 111614733 A 说 明 书 4/8 页 附图说明 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它 特征、目的和优点将会变得更明显。 图1是根据本发明的实施例的一种分布式多分片集群的部署方法的流程图。 图2是根据本发明的实施例的一种分布式多分片集群的部署装置的结构图。
分享到:
收藏