天天看点

mongodb集群方式-分片+副本集方式配置

分片就是水平的扩展,将数据分拆到不同的机器上,以达到存储更多的数据,处理更大的负载。可以选定将按照指定的文档键值进行分片。

整体部署方案:

启动三个分片服务,两个做数据存储,另一个作为config,

配置分片的副本集,创建管理员用户,关闭mongod,打开keyfile,启动mongos,配置分片服务。

分片一般有三个组成部分:

分片服务(Shard Server),mongod 实例,2个以上,负责存储实际的数据分片,生产环境中一个Shard Server可由几台服务器组成一个Replica Set代替,避免主机单点故障;

路由服务(Routing Process),mongos实例,1个以上,它负责管理分片,客户端由此前端路由接入,且让整个集群看起来像单一数据库,客户端应用可以透明使用,Routing Process不存储数据,数据来自Config Server;

配置服务(Config Server),mongod 实例,1个以上,负责存储整个集群的配置信息:即数据和片的对应关系。

因为测试资源有限, 采取三台虚拟机的方式,

分片的架构图如下:

mongodb集群方式-分片+副本集方式配置

192.168.100.101所有配置如下:

192.168.100.102所有配置如下:

192.168.100.103所有配置如下:

openfile 可以使用命令生成:

确保每台机器的keyfile一致

依次按照上面配置文件的内容创建配置文件和存储目录日志目录

创建完成依次启动所有的mongod节点

注意此时要把keyfile选项注释掉,否则启动之后未创建角色就要认证,无法进入操作

启动之后依次连接每个分片的主执行以下操作:

依次执行成功之后,

停止所有的mongod节点:

开启keyfile

之后依次启动mongod节点

然后启动mongos节点

连接mongos节点

至此分片配置完成。