本篇文章为大家展示了MongoDB中怎么搭建分片集群,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。mongos:数据库集群请求的入口,所有请求需要经过mongos进行协调,无需在应用层面利用程序来进行路由选择,mongos其自身是一个请求分发中心,负责将外部的请求分发到对应的shard服务器上,mongos作为统一的请求入口,为防止mongos单节点故障,一般需要对其做HA。config server:配置服务器,存储所有数据库元数据(分片,路由)的配置。mongos本身没有物理存储分片服务器和数据路由信息,只是存缓存在内存中来读取数据,mongos在第一次启动或后期重启时候,就会从config server中加载配置信息,如果配置服务器信息发生更新会通知所有的mongos来更新自己的状态,从而保证准确的请求路由,生产环境中通常也需要多个config server,防止配置文件存在单节点丢失问题。shard:在传统意义上来讲,如果存在海量数据,单台服务器存储1T压力非常大,无论考虑数据库的硬盘,网络IO,又有CPU,内存的瓶颈,如果多台进行分摊1T的数据,到每台上就是可估量的较小数据,在mongodb集群只要设置好分片规则,通过mongos操作数据库,就可以自动把对应的操作请求转发到对应的后端分片服务器上。replica set:在总体mongodb集群架构中,对应的分片节点,如果单台机器下线,对应整个集群的数据就会出现部分缺失,这是不能发生的,因此对于shard节点需要replica set来保证数据的可靠性,生产环境通常为2个副本+1个仲裁。架构:我们这次搭建的是三分片,每个分片三个副本集的分片集群端口分布:mongos:20000 config:21000 shard1:22001 shard2:22002 shard3:220031. 各个机器上分别安装MongoDb安装过程省略。只需要将安装免费云主机域名包COPY到各个服务器解压即可2. 分别在每台机器建立conf、mongos、config、shard1、shard2、shard3六个目录,因为mongos不存储数据,只需要建立日志文件目录即可3.关闭防火墙4. Config server搭建副本集,添加如下内容5. 分别启动三台服务器的config server6. 登录任意一台配置服务器,初始化配置副本集7. 初始化config服务器的副本集这一步非常重要,必须初始化成功。不成功的话,路由服务器与配置服务器连接不上。其中,”_id” : “configs”应与配置文件中配置的 replicaction.replSetName 一致,”members” 中的 “host” 为三个节点的 ip 和 port。8. 三台分片服务器搭建副本集,配置分片副本集(三台机器)。9. 启动三台服务器的shard1 server登陆任意一台服务器,初始化副本集10. 定义副本集配置,第三个节点的 “arbiterOnly”:true 代表其为仲裁节点。初始化副本集配置此时shard1 副本集已经配置完成,mongodb-1为primary,mongodb-2为arbiter,mongodb-3为secondary。同样的操作进行shard2配置和shard3配置注意:进行shard2的副本集初始化,在mongodb-2,初始化shard3副本集在mongodb-3上进行操作。同理,我们设置第二个分片并依次启动三台服务器的shard2 server初始化副本集配置最后设置第三个分片副本集 ,配置文件配置项启动三台服务器的shard3 server11.配置路由服务器mongos目前三台服务器的config服务器和shard服务器均已启动,现在开始配置mongos服务的三副本集由于mongos服务器的配置是从内存中加载,所以自己没有存在数据目录configdb连接为config服务器集群先启动config服务器和shard服务器,然后启动路由实例:(三台机器)mongs服务器配置文件启动三台服务器的mongos server目前搭建了mongodb config服务器、mongos服务器,各个shard服务器,不过应用程序连接到mongos路由服务器并不能使用分片机制,还需要在程序里设置分片配置,让分片生效,意即将mongos,shard,config三类服务器串起来即为分片服务器了
登陆任意一台mongos使用admin数据库串联路由服务器与分配副本集查看集群状态12. 配置分片目前配置服务、路由服务、分片服务、副本集服务都已经串联起来了,但我们的目的是希望插入数据,数据能够自动分片。连接在mongos上,准备让指定的数据库、指定的集合分片生效。指定prod_sharding分片生效指定数据库里需要分片的集合和片键查看分配状态创建用户连接DB上述内容就是MongoDB中怎么搭建分片集群,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注百云行业资讯频道。
相关推荐: PostgreSQL JOIN limit 优化器 成本计算 改进 – mergejoin startup cost 优化
PostgreSQL limit N的成本估算,是通过计算总成本A,以及估算得到的总记录数B得到: 对于单表查询,这种方法通常来说比较适用,但是如果数据分布有倾斜,实际上也并不一定适用,例如以下两种情况: 1、符合条件的数据占总记录数的50%,但是全部分布在表…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。