CN112055087A - 一种Mongodb集群快速部署、迁移和维护的方法及系统 - Google Patents

一种Mongodb集群快速部署、迁移和维护的方法及系统 Download PDF

Info

Publication number
CN112055087A
CN112055087A CN202010947696.4A CN202010947696A CN112055087A CN 112055087 A CN112055087 A CN 112055087A CN 202010947696 A CN202010947696 A CN 202010947696A CN 112055087 A CN112055087 A CN 112055087A
Authority
CN
China
Prior art keywords
node
cluster
nodes
configuration file
mongodb
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
CN202010947696.4A
Other languages
English (en)
Other versions
CN112055087B (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.)
Xiamen Meiya Pico Information Co Ltd
Original Assignee
Xiamen Meiya Pico Information 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 Xiamen Meiya Pico Information Co Ltd filed Critical Xiamen Meiya Pico Information Co Ltd
Priority to CN202010947696.4A priority Critical patent/CN112055087B/zh
Publication of CN112055087A publication Critical patent/CN112055087A/zh
Application granted granted Critical
Publication of CN112055087B publication Critical patent/CN112055087B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明给出了一种Mongodb集群快速部署、迁移和维护的方法及系统,包括对Mongodb的集群部署过程中的配置文件进行修改,将集群所有节点的IP地址与对应主机名的映射写入主节点的/etc/hosts配置文件中,并基于映射将其他节点的配置文件中的IP地址替换为对应主机名,降低了集群中所有节点之间对IP地址的耦合性,当某个节点需要迁移或维护时,只需要将该节点的实例停掉,将/etc/hosts配置文件中待迁移/维护的节点的IP地址替换为新节点的IP地址,最后在新节点上运行相应的Mongodb实例,从而实现Mongodb的快速部署、迁移和维护,同时使得各节点之间的IP地址不能通过Mongodb的集群相关命令看到,只能通过IP地址映射的配置文件查看。本发明解决了传统的Mongodb集群部署繁琐,迁移麻烦,维护不方便的问题。

Description

一种Mongodb集群快速部署、迁移和维护的方法及系统
技术领域
本发明涉及计算机应用技术领域,尤其是一种Mongodb集群快速部署、迁移和维护的方法及系统。
背景技术
随着互联网和大数据的发展,很多互联网行业以及应用厂商开始利用Mongodb文档数据库处理一些数据类型比较复杂的数据,从而来简化关系型数据处理的复杂度。Mongodb分布式文档数据库能提供集群模式,从而能处理大数据背景的数据量较大的数据,集群模式就避免不了因为一些因素导致要对整个Mongodb集群进行迁移或者维护,因而集群的快速方便的部署、迁移和维护变的越来越重要。传统的Mongodb集群部署还是利用单一节点部署,部署繁琐;迁移方式利用Mongodb本身自带的命令导出,然后导入,这样的操作对于大量的数据而言很费时间,而且还需要对整个集群的配置要重新初始化,有可能操作不当导致集群启动异常。针对传统的Mongodb集群部署繁琐,迁移麻烦,维护不方便的问题,本发明提出通过一种快速的部署Mongodb集群和迁移的方法,部署集群时只需要简单的几步操作就能实现集群的配置;迁移集群时,只需要将各节点的服务实例关闭,然后将各实例、相应的数据存储目录和映射关系文件拷贝到新的集群,拷贝完成后启动新集群中各节点的服务实例即完成Mongodb集群的整体迁移。
发明内容
本发明提出了一种Mongodb集群快速部署、迁移和维护的方法及系统,以解决上文提到的现有技术的缺陷。
在一个方面,本发明提出了一种Mongodb集群快速部署、迁移和维护的方法,该方法包括以下步骤:
S1:在Mongodb集群的部署过程中,选取主节点和分片节点,并对所有主节点和分片节点的功能进行统一划分,再构建所有所述节点的IP地址与对应的主机名的映射,将所有所述节点的IP地址和对应的实例端口配置到所述主节点的/etc/c3.conf文件中;
S2:根据所有所述节点的IP地址与对应的主机名的映射对所述主节点的/etc/hosts配置文件进行修改,并将所述修改同步到其它节点,再将部署过程中配置文件中的IP地址修改为对应的主机名;
S3:根据所述主节点上的/etc/c3.conf配置文件,生成配置服务的相关初始化配置文件,并执行所述初始化配置文件;
S4:通过mongos路由服务来分发请求,负载均衡各数据分片,通过所述主节点上的/etc/c3.conf配置文件,生成用于配置mongos路由服务的路由初始化配置文件,并执行所述路由初始化配置文件。
以上方法将集群所有节点的IP地址与对应主机名的映射写入主节点的/etc/hosts配置文件中,并基于映射将其他节点的配置文件中的IP地址替换为对应主机名,降低了集群中所有节点之间对IP地址的耦合性,便于后续当节点需要迁移/维护时,快速且稳定的进行迁移/维护。
在具体的实施例中,步骤S1中对所有所述节点的功能进行统一划分,具体包括:将所述主节点作为Mongodb集群的配置服务和查询路由的服务节点,在每个所述分片节点上部署多个分片服务实例,并将所述主节点和所述分片节点的信息配置到所述主节点的/etc/c3.conf文件中。通过对Mongodb集群的部署过程中各节点的功能进行统一划分,将主机名与对应的IP地址进行映射,减少各节点之间对IP地址的依赖,从而为后续实现Mongodb集群的快速迁移和维护提供准备。
在具体的实施例中,Mongodb集群快速部署的方法还包括步骤S5:将对应的数据分片加入到Mongodb集群,根据所述主节点的/etc/c3.conf配置文件里面的shard_alias配置生成分片配置文件,并加载到对应的所述分片服务实例中。
在具体的实施例中,所有所述节点的IP地址与对应的主机名的映射中,每个所述主机名是唯一且互不相同的。
在具体的实施例中,所有所述节点的IP地址与对应的主机名的映射包括所述分片服务实例的IP地址与对应的主机名的映射,其中:所述分片服务实例的IP地址为所述分片服务实例对应分片节点的IP地址。
在具体的实施例中,步骤S2中所述将修改同步到其它节点包括将分片节点的IP地址跟主节点的/etc/c3.conf中的配置进行映射。
在具体的实施例中,还包括对Mongodb集群进行快速迁移的步骤,具体包括:
A1:将旧集群中主节点上的/etc/c3.conf配置文件及相关脚本迁移到新集群的主节点后,将各节点的/etc/hosts配置文件中的IP地址更新为新集群的各节点的IP地址,再部署新集群的各节点实例;
A2:将所述新集群的各节点实例停掉,再将所述旧集群的各节点实例停掉,将所述旧集群的各节点实例的数据存储目录总体拷贝到要迁移的新节点上;
A3:将所述新集群的各节点实例重启。
在具体的实施例中,还包括对Mongodb集群进行快速维护的步骤,具体包括:
当一个节点出现故障需要替换时,在新节点上运行相应的Mongodb实例,再把所述/etc/hosts配置文件中的故障IP地址更新为新节点的IP地址。
根据本发明的第二方面,提出了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机处理器执行时上述方法。
根据本发明的第三方面,提出一种Mongodb集群快速部署、迁移和维护的系统,该系统包括:
IP地址映射模块:配置用于在Mongodb集群的部署过程中,选取主节点和分片节点,并对所有主节点和分片节点的功能进行统一划分,再构建所有所述节点的IP地址与对应的主机名的映射,将所有所述节点的IP地址和对应的实例端口配置到所述主节点的/etc/c3.conf文件中;
映射配置模块:配置用于根据所有所述节点的IP地址与对应的主机名的映射对所述主节点的/etc/hosts配置文件进行修改,并将所述修改同步到其它节点,再将部署过程中配置文件中的IP地址修改为对应的主机名;
配置服务初始化模块:配置用于根据所述主节点上的/etc/c3.conf配置文件,生成配置服务的相关初始化配置文件,并执行所述初始化配置文件;
路由服务初始化模块:配置用于通过mongos路由服务来分发请求,负载均衡各数据分片,通过所述主节点上的/etc/c3.conf配置文件,生成用于配置mongos路由服务的路由初始化配置文件,并执行所述路由初始化配置文件。
在具体的实施例中,还包括对Mongodb集群进行快速迁移的系统,具体包括:
IP地址更新模块:配置用于将旧集群中主节点上的/etc/c3.conf配置文件及相关脚本迁移到新集群的主节点后,将各节点的/etc/hosts配置文件中的IP地址更新为新集群的各节点的IP地址,再部署新集群的各节点实例;
Mongodb实例迁移模块:配置用于将所述新集群的各节点实例停掉,再将所述旧集群的各节点实例停掉,将所述旧集群的各节点实例的数据存储目录总体拷贝到要迁移的新节点上;
Mongodb实例重启模块:配置用于将所述新集群的各节点实例重启。
在具体的实施例中,还包括对Mongodb集群进行快速维护的系统,具体包括:
Mongodb节点维护模块:配置用于当一个节点出现故障需要替换时,在新节点上运行相应的Mongodb实例,再把所述/etc/hosts配置文件中的故障IP地址更新为新节点的IP地址。
本发明主要是对Mongodb的集群部署过程中的配置文件进行修改,将集群所有节点的IP地址与对应主机名的映射写入主节点的/etc/hosts配置文件中,并基于映射将其他节点的配置文件中的IP地址替换为对应主机名,降低了集群中所有节点之间对IP地址的耦合性,当某个节点需要迁移或维护时,只需要将该节点的实例停掉,将/etc/hosts配置文件中待迁移/维护的节点的IP地址替换为新节点的IP地址,最后在新节点上运行相应的Mongodb实例,从而实现Mongodb的快速部署、迁移和维护,同时使得各节点之间的IP地址不能通过Mongodb的集群相关命令看到,只能通过IP地址映射的配置文件查看。另外当集群中的单个节点出现故障时,能够利用替换配置文件中对应的IP地址的方式,快速的用新节点进行替换,保障集群能快速的恢复使用。解决了传统的Mongodb集群部署繁琐,迁移麻烦,维护不方便的问题。
附图说明
包括附图以提供对实施例的进一步理解并且附图被并入本说明书中并且构成本说明书的一部分。附图图示了实施例并且与描述一起用于解释本发明的原理。将容易认识到其它实施例和实施例的很多预期优点,因为通过引用以下详细描述,它们变得被更好地理解。通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本发明的一个实施例的一种Mongodb集群快速部署的方法的流程图;
图2是本发明的一个实施例的Mongodb集群快速迁移的方法的流程图;
图3是本发明的一个实施例的Mongodb集群快速维护的方法的流程图;
图4是本发明的一个具体的实施例的Mongodb集群快速部署的方法的流程图;
图5是本发明的一个实施例的一种Mongodb集群快速部署的系统的框架图;
图6是本发明的一个实施例的Mongodb集群快速迁移的系统的框架图;
图7是本发明的一个实施例的Mongodb集群快速维护的系统的框架图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
根据本发明的一个实施例的一种Mongodb集群快速部署、迁移和维护的方法,图1示出了根据本发明的实施例的一种Mongodb集群快速部署、迁移和维护的方法的流程图。如图1所示,该方法包括以下步骤:
S101:在Mongodb集群的部署过程中,选取主节点和分片节点,并对所有主节点和分片节点的功能进行统一划分,再构建所有所述节点的IP地址与对应的主机名的映射,将所有所述节点的IP地址和对应的实例端口配置到所述主节点的/etc/c3.conf文件中。
在具体的实施例中,步骤S101中对所有所述节点的功能进行统一划分,具体包括:将所述主节点作为Mongodb集群的配置服务和查询路由的服务节点,在每个所述分片节点上部署多个分片服务实例,并将所述主节点和所述分片节点的信息配置到所述主节点的/etc/c3.conf文件中。
在具体的实施例中,所有所述节点的IP地址与对应的主机名的映射中,每个所述主机名是唯一且互不相同的。
在具体的实施例中,所有所述节点的IP地址与对应的主机名的映射包括所述分片服务实例的IP地址与对应的主机名的映射,其中:所述分片服务实例的IP地址为所述分片服务实例对应分片节点的IP地址。
S102:根据所有所述节点的IP地址与对应的主机名的映射对所述主节点的/etc/hosts配置文件进行修改,并将所述修改同步到其它节点,再将部署过程中配置文件中的IP地址修改为对应的主机名。
在具体的实施例中,步骤S102中所述将修改同步到其它节点包括将分片节点的IP地址跟主节点的/etc/c3.conf中的配置进行映射。
S103:根据所述主节点上的/etc/c3.conf配置文件,生成配置服务的相关初始化配置文件,并执行所述初始化配置文件。
S104:通过mongos路由服务来分发请求,负载均衡各数据分片,通过所述主节点上的/etc/c3.conf配置文件,生成用于配置mongos路由服务的路由初始化配置文件,并执行所述路由初始化配置文件。
在具体的实施例中,Mongodb集群快速部署的方法还包括步骤S105:将对应的数据分片加入到Mongodb集群,根据所述主节点的/etc/c3.conf配置文件里面的shard_alias配置生成分片配置文件,并加载到对应的所述分片服务实例中。
在具体的实施例中,还包括对Mongodb集群进行快速迁移的步骤,具体包括:
S201:将旧集群中主节点上的/etc/c3.conf配置文件及相关脚本迁移到新集群的主节点后,将各节点的/etc/hosts配置文件中的IP地址更新为新集群的各节点的IP地址,再部署新集群的各节点实例;
S202:将所述新集群的各节点实例停掉,再将所述旧集群的各节点实例停掉,将所述旧集群的各节点实例的数据存储目录总体拷贝到要迁移的新节点上;
S203:将所述新集群的各节点实例重启。
在具体的实施例中,还包括对Mongodb集群进行快速维护的步骤,具体包括:
S301:当一个节点出现故障需要替换时,在新节点上运行相应的Mongodb实例,再把所述/etc/hosts配置文件中的故障IP地址更新为新节点的IP地址。
图4示出了本发明的一个具体的实施例的Mongodb集群快速部署的方法的流程图,本实施例以一个包括三个Mongodb节点的Mongodb集群为例,来阐述本发明中提到的Mongodb集群快速部署方案,其中,三个Mongodb节点的IP地址分别为192.168.1.1、192.168.1.2、192.168.1.3,对应的主机名为node1、node2、node3,具体步骤如下:
401:选取node1为主节点,同时作为Mongodb集群的配置服务和查询路由的服务节点,选取node2,node3为分片节点,同时每个节点上部署3个分片服务实例,对应的实例端口由30018自加1,然后将对应的信息配置到主节点的/etc/c3.conf文件中,其中具体配置如下:
配置服务和查询路由服务节点的配置信息如下:
cluster conf{
192.168.1.1
}
cluster conf_alias{
node1_30017
}
cluster mongos{
192.168.1.1
}
分片服务节点的配置信息如下:
cluster shard{
192.168.1.2
192.168.1.3
}
cluster shard_alias{
node2_30018
node2_30019
node2_30020
node3_30021
node3_30022
node3_30023
}
402:修改主节点的/etc/hosts配置文件,并同步到其它节点,将分片节点的IP地址跟主节点/etc/c3.conf中的shard_port下的配置进行映射,因为每个分片节点部署了3个分片实例,所有一个分片节点IP映射到三个别名上,配置服务节点的配置服务实例端口设置为30017,配置服务节点IP也映射到对应的别名上,具体配置如下所示:
192.168.1.1node1_30017
192.168.1.2node2_30018
192.168.1.2node2_30019
192.168.1.2node2_30020
192.168.1.3node3_30021
192.168.1.3node3_30022
192.168.1.3node3_30023
403:根据主节点上面的/etc./c3.conf配置文件,生成配置服务的相关初始化配置文件config.js,对应的config.js的内容如下:
use admin;
config={_id:'cfg',configsvr:true,members:[{_id:0,host:'node1_30017:30017'}]};
rs.initiate(config);
rs.status();
然后将config.js通过写好的脚本在配置服务节点的实例上面执行;
404:通过mongos路由服务来分发请求,负载均衡各数据分片,通过主节点上面的/etc/c3.conf配置文件,生成mongos路由服务的初始化配置mongos.js如下:
use admin;
db.runCommand({addShard:'t0/node2_30018:30018'});
db.runCommand({addShard:'t1/node2_30019:30019'});
db.runCommand({addShard:'t2/node2_30020:30020'});
db.runCommand({addShard:'t3/node3_30021:30021'});
db.runCommand({addShard:'t4/node3_30022:30022'});
db.runCommand({addShard:'t5/node3_30023:30023'});
db.createUser({user:'test',pwd:'test',roles:[{role:'root',db:'admin'}]});
db.auth('test','test');
db.runCommand({enablesharding:'test'});
sh.status();
然后将monogs.js通过写好的脚本在路由服务节点的实例上面执行;
405:启动完mongos路由等服务之后,将对应的分片加入到集群,以便请求能找到对应数据存储的分片,根据主节点的/etc/c3.conf配置文件里面的shard_alias配置生成分片配置文件shard.js内容如下:
use admin;
config={_id:'t0',members:[{_id:0,host:'node2_30018:30018'}]}
rs.initiate(config);
rs.status();
shard_alias配置下的每一行生成一个对应的shard.js文件,然后通过写好的脚本加载到对应的分片实例服务。
图5示出了本发明的一个实施例的一种Mongodb集群快速部署的系统的框架图。该系统包括IP地址映射模块501、映射配置模块502、配置服务初始化模块503和路由服务初始化模块504。
在具体的实施例中,IP地址映射模块501被配置用于在Mongodb集群的部署过程中,选取主节点和分片节点,并对所有主节点和分片节点的功能进行统一划分,再构建所有所述节点的IP地址与对应的主机名的映射,将所有所述节点的IP地址和对应的实例端口配置到所述主节点的/etc/c3.conf文件中;映射配置模块502被配置用于根据所有所述节点的IP地址与对应的主机名的映射对所述主节点的/etc/hosts配置文件进行修改,并将所述修改同步到其它节点,再将部署过程中配置文件中的IP地址修改为对应的主机名;配置服务初始化模块503被配置用于根据所述主节点上的/etc/c3.conf配置文件,生成配置服务的相关初始化配置文件,并执行所述初始化配置文件;路由服务初始化模块504被配置用于通过mongos路由服务来分发请求,负载均衡各数据分片,通过所述主节点上的/etc/c3.conf配置文件,生成用于配置mongos路由服务的路由初始化配置文件,并执行所述路由初始化配置文件。
图6示出了本发明的一个实施例的Mongodb集群快速迁移的系统的框架图。该系统包括IP地址更新模块601、Mongodb实例迁移模块602和Mongodb实例重启模块603。
在具体的实施例中,IP地址更新模块601被配置用于将旧集群中主节点上的/etc/c3.conf配置文件及相关脚本迁移到新集群的主节点后,将各节点的/etc/hosts配置文件中的IP地址更新为新集群的各节点的IP地址,再部署新集群的各节点实例;Mongodb实例迁移模块602被配置用于将所述新集群的各节点实例停掉,再将所述旧集群的各节点实例停掉,将所述旧集群的各节点实例的数据存储目录总体拷贝到要迁移的新节点上;Mongodb实例重启模块603被配置用于将所述新集群的各节点实例重启。
图7示出了本发明的一个实施例的Mongodb集群快速维护的系统的框架图。该系统包括Mongodb节点维护模块701。
在具体的实施例中,Mongodb节点维护模块701被配置用于当一个节点出现故障需要替换时,在新节点上运行相应的Mongodb实例,再把所述/etc/hosts配置文件中的故障IP地址更新为新节点的IP地址。
通过以上模块的共同作用,降低了集群中所有节点之间对IP地址的耦合性,当某个节点需要迁移或维护时,只需要将该节点的实例停掉,将/etc/hosts配置文件中待迁移/维护的节点的IP地址替换为新节点的IP地址,最后在新节点上运行相应的Mongodb实例,从而实现了Mongodb的快速部署、迁移和维护,同时使得各节点之间的IP地址不能通过Mongodb的集群相关命令看到,只能通过IP地址映射的配置文件查看,最终解决了传统的Mongodb集群部署繁琐,迁移麻烦,维护不方便的问题。
本发明的实施例还涉及一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机处理器执行时实施上文中的方法。该计算机程序包含用于执行流程图所示的方法的程序代码。需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。
本发明给出了一种Mongodb集群快速部署、迁移和维护的方法及系统,包括对Mongodb的集群部署过程中的配置文件进行修改,将集群所有节点的IP地址与对应主机名的映射写入主节点的/etc/hosts配置文件中,并基于映射将其他节点的配置文件中的IP地址替换为对应主机名,降低了集群中所有节点之间对IP地址的耦合性,当某个节点需要迁移或维护时,只需要将该节点的实例停掉,将/etc/hosts配置文件中待迁移/维护的节点的IP地址替换为新节点的IP地址,最后在新节点上运行相应的Mongodb实例,从而实现Mongodb的快速部署、迁移和维护,同时使得各节点之间的IP地址不能通过Mongodb的集群相关命令看到,只能通过IP地址映射的配置文件查看。解决了传统的Mongodb集群部署繁琐,迁移麻烦,维护不方便的问题。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (12)

1.一种Mongodb集群快速部署的方法,其特征在于,包括以下步骤:
S1:在Mongodb集群的部署过程中,选取主节点和分片节点,并对所有主节点和分片节点的功能进行统一划分,再构建所有所述节点的IP地址与对应的主机名的映射,将所有所述节点的IP地址和对应的实例端口配置到所述主节点的/etc/c3.conf文件中;
S2:根据所有所述节点的IP地址与对应的主机名的映射对所述主节点的/etc/hosts配置文件进行修改,并将所述修改同步到其它节点,再将部署过程中配置文件中的IP地址修改为对应的主机名;
S3:根据所述主节点上的/etc/c3.conf配置文件,生成配置服务的相关初始化配置文件,并执行所述初始化配置文件;
S4:通过mongos路由服务来分发请求,负载均衡各数据分片,通过所述主节点上的/etc/c3.conf配置文件,生成用于配置mongos路由服务的路由初始化配置文件,并执行所述路由初始化配置文件。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1中对所有所述节点的功能进行统一划分,具体包括:将所述主节点作为Mongodb集群的配置服务和查询路由的服务节点,在每个所述分片节点上部署多个分片服务实例,并将所述主节点和所述分片节点的信息配置到所述主节点的/etc/c3.conf文件中。
3.根据权利要求1所述的方法,其特征在于,所述Mongodb集群快速部署的方法还包括步骤S5:将对应的数据分片加入到Mongodb集群,根据所述主节点的/etc/c3.conf配置文件里面的shard_alias配置生成分片配置文件,并加载到对应的所述分片服务实例中。
4.根据权利要求2所述的方法,其特征在于,所有所述节点的IP地址与对应的主机名的映射中,每个所述主机名是唯一且互不相同的。
5.根据权利要求2所述的方法,其特征在于,所有所述节点的IP地址与对应的主机名的映射包括所述分片服务实例的IP地址与对应的主机名的映射,其中:所述分片服务实例的IP地址为所述分片服务实例对应分片节点的IP地址。
6.根据权利要求2所述的方法,其特征在于,所述步骤S2中所述将修改同步到其它节点包括将分片节点的IP地址跟主节点的/etc/c3.conf中的配置进行映射。
7.根据权利要求1所述的方法,其特征在于,还包括对Mongodb集群进行快速迁移的步骤,具体包括:
A1:将旧集群中主节点上的/etc/c3.conf配置文件及相关脚本迁移到新集群的主节点后,将各节点的/etc/hosts配置文件中的IP地址更新为新集群的各节点的IP地址,再部署新集群的各节点实例;
A2:将所述新集群的各节点实例停掉,再将所述旧集群的各节点实例停掉,将所述旧集群的各节点实例的数据存储目录总体拷贝到要迁移的新节点上;
A3:将所述新集群的各节点实例重启。
8.根据权利要求1所述的方法,其特征在于,还包括对Mongodb集群进行快速维护的步骤,具体包括:
当一个节点出现故障需要替换时,在新节点上运行相应的Mongodb实例,再把所述/etc/hosts配置文件中的故障IP地址更新为新节点的IP地址。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被计算机处理器执行时实施权利要求1至8中任一项所述的方法。
10.一种Mongodb集群快速部署的系统,其特征在于,包括:
IP地址映射模块:配置用于在Mongodb集群的部署过程中,选取主节点和分片节点,并对所有主节点和分片节点的功能进行统一划分,再构建所有所述节点的IP地址与对应的主机名的映射,将所有所述节点的IP地址和对应的实例端口配置到所述主节点的/etc/c3.conf文件中;
映射配置模块:配置用于根据所有所述节点的IP地址与对应的主机名的映射对所述主节点的/etc/hosts配置文件进行修改,并将所述修改同步到其它节点,再将部署过程中配置文件中的IP地址修改为对应的主机名;
配置服务初始化模块:配置用于根据所述主节点上的/etc/c3.conf配置文件,生成配置服务的相关初始化配置文件,并执行所述初始化配置文件;
路由服务初始化模块:配置用于通过mongos路由服务来分发请求,负载均衡各数据分片,通过所述主节点上的/etc/c3.conf配置文件,生成用于配置mongos路由服务的路由初始化配置文件,并执行所述路由初始化配置文件。
11.根据权利要求10所述的方法,其特征在于,还包括对Mongodb集群进行快速迁移的系统,具体包括:
IP地址更新模块:配置用于将旧集群中主节点上的/etc/c3.conf配置文件及相关脚本迁移到新集群的主节点后,将各节点的/etc/hosts配置文件中的IP地址更新为新集群的各节点的IP地址,再部署新集群的各节点实例;
Mongodb实例迁移模块:配置用于将所述新集群的各节点实例停掉,再将所述旧集群的各节点实例停掉,将所述旧集群的各节点实例的数据存储目录总体拷贝到要迁移的新节点上;
Mongodb实例重启模块:配置用于将所述新集群的各节点实例重启。
12.根据权利要求10所述的方法,其特征在于,还包括对Mongodb集群进行快速维护的系统,具体包括:
Mongodb节点维护模块:配置用于当一个节点出现故障需要替换时,在新节点上运行相应的Mongodb实例,再把所述/etc/hosts配置文件中的故障IP地址更新为新节点的IP地址。
CN202010947696.4A 2020-09-10 2020-09-10 一种Mongodb集群快速部署、迁移和维护的方法及系统 Active CN112055087B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010947696.4A CN112055087B (zh) 2020-09-10 2020-09-10 一种Mongodb集群快速部署、迁移和维护的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010947696.4A CN112055087B (zh) 2020-09-10 2020-09-10 一种Mongodb集群快速部署、迁移和维护的方法及系统

Publications (2)

Publication Number Publication Date
CN112055087A true CN112055087A (zh) 2020-12-08
CN112055087B CN112055087B (zh) 2023-04-07

Family

ID=73609962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010947696.4A Active CN112055087B (zh) 2020-09-10 2020-09-10 一种Mongodb集群快速部署、迁移和维护的方法及系统

Country Status (1)

Country Link
CN (1) CN112055087B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112689015A (zh) * 2020-12-24 2021-04-20 北京顺达同行科技有限公司 跨集群服务发现实现集群迁移的方法、系统及计算机设备
CN112800029A (zh) * 2021-01-29 2021-05-14 紫光云技术有限公司 一种ceph集群整体迁移的方法
CN112948354A (zh) * 2021-03-01 2021-06-11 北京金山云网络技术有限公司 副本集群的创建方法和装置、电子设备和存储介质
CN113238864A (zh) * 2021-05-17 2021-08-10 上海中通吉网络技术有限公司 基于Python的MongoDB集群部署方法和系统
CN114189496A (zh) * 2022-02-16 2022-03-15 苏州浪潮智能科技有限公司 一种集群系统的ip修改方法、装置及相关设备
CN115002107A (zh) * 2022-05-11 2022-09-02 杭州团星信息技术有限公司 一种分片服务部署方法、系统、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572269A (zh) * 2015-01-19 2015-04-29 浪潮电子信息产业股份有限公司 一种基于Linux操作系统的集群快速部署方法
WO2015139510A1 (zh) * 2014-03-19 2015-09-24 福建福昕软件开发股份有限公司 一种集群部署方法
US20170085419A1 (en) * 2015-09-18 2017-03-23 Le Holdings (Beijing) Co., Ltd. System and method for deploying an application
CN109104318A (zh) * 2018-08-23 2018-12-28 广东轩辕网络科技股份有限公司 用于实现集群自适应部署的方法、基于云平台的自适应部署大数据集群的部署方法及系统
US10635544B1 (en) * 2014-03-13 2020-04-28 EMC IP Holding Company LLC Assigning VMware local proxy host-datastore groups for consistently optimized access

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10635544B1 (en) * 2014-03-13 2020-04-28 EMC IP Holding Company LLC Assigning VMware local proxy host-datastore groups for consistently optimized access
WO2015139510A1 (zh) * 2014-03-19 2015-09-24 福建福昕软件开发股份有限公司 一种集群部署方法
CN104572269A (zh) * 2015-01-19 2015-04-29 浪潮电子信息产业股份有限公司 一种基于Linux操作系统的集群快速部署方法
US20170085419A1 (en) * 2015-09-18 2017-03-23 Le Holdings (Beijing) Co., Ltd. System and method for deploying an application
CN109104318A (zh) * 2018-08-23 2018-12-28 广东轩辕网络科技股份有限公司 用于实现集群自适应部署的方法、基于云平台的自适应部署大数据集群的部署方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112689015A (zh) * 2020-12-24 2021-04-20 北京顺达同行科技有限公司 跨集群服务发现实现集群迁移的方法、系统及计算机设备
CN112800029A (zh) * 2021-01-29 2021-05-14 紫光云技术有限公司 一种ceph集群整体迁移的方法
CN112948354A (zh) * 2021-03-01 2021-06-11 北京金山云网络技术有限公司 副本集群的创建方法和装置、电子设备和存储介质
CN113238864A (zh) * 2021-05-17 2021-08-10 上海中通吉网络技术有限公司 基于Python的MongoDB集群部署方法和系统
CN114189496A (zh) * 2022-02-16 2022-03-15 苏州浪潮智能科技有限公司 一种集群系统的ip修改方法、装置及相关设备
CN115002107A (zh) * 2022-05-11 2022-09-02 杭州团星信息技术有限公司 一种分片服务部署方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN112055087B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
CN112055087B (zh) 一种Mongodb集群快速部署、迁移和维护的方法及系统
JP5142678B2 (ja) デプロイ方法およびシステム
JP5319685B2 (ja) 大規模なネットワーク化されたシステムにおけるソフトウェアの展開
EP2923272B1 (en) Distributed caching cluster management
US7516206B2 (en) Management of software images for computing nodes of a distributed computing system
US8387037B2 (en) Updating software images associated with a distributed computing system
US8458392B2 (en) Upgrading a guest operating system of an active virtual machine
US9817721B1 (en) High availability management techniques for cluster resources
JP5384467B2 (ja) 再目的化可能回復環境
RU2653292C2 (ru) Перенос служб через границы кластеров
US20140007092A1 (en) Automatic transfer of workload configuration
CN107368358B (zh) 实现客户端所在虚拟机在不同主机间迁移的装置和方法
WO2020108271A1 (zh) 应用程序更新方法、设备和装置及存储介质
US8752039B1 (en) Dynamic upgrade of operating system in a network device
CN102591679A (zh) 一种集群系统应用软件快速部署方法
US9529772B1 (en) Distributed caching cluster configuration
CN111104201A (zh) 系统迁移方法和装置、电子设备、存储介质
US20210089379A1 (en) Computer system
US11295018B1 (en) File system modification
US10929168B2 (en) Enhanced data storage and versioning of virtual nodes in a data processing environment
US11615006B2 (en) Virtual network life cycle management
US11876860B2 (en) Data sharing system, data sharing method and non-transitory computer-readable recording medium for data sharing program
JP2018181194A (ja) 情報処理装置、情報処理システム、及び制御プログラム
US20230102403A1 (en) Method and system for performing state management services for composed information handling systems
CN116540943A (zh) 基于分布式文件系统的iscsi服务生成方法、系统及介质

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