mongodb的分布式集群(4、分片和副本集的结合)

概述

前面3篇博客讲了mongodb的分布式和集群,其中第一种的主从复制我们几乎不用,没有什么意义,剩下的两种,我们不论单独的使用哪一个,都会出现相应的问题,比较好的一种解决方案就是,分片和副本集的集合使用,这样就比较完美了。

部署图

在这里,我们需要注意,我们mongos服务器配置成了集群,所以,我们需要在客户端上分别得添加相应的地址,这个和在副本集的那篇博客中将的内容一样,在java客户端程序的具体核心代码,在那篇博客中也给了大家,如果这点不清楚的,可以看看那篇博客。

分片集群的配置

分片集群配置
    //启动每台Config
    mongod --dbpath /data/mongodbtest/config/data --port 27017
    //启动每台mongos
    mongos --configdb 192.168.24.201:27017,192.168.24.202:27017,192.168.24.203:27017
           --port 27017
    //登录每台mongos添加分片(省略配置副本集过程)
    use admin
    db.runCommand( { addshard :
                     "Shard1/192.168.24.1:27017,
                             192.168.24.2:27017,
                             192.168.24.3:27017"});
    db.runCommand( { addshard :
                     "Shard2/192.168.24.11:27017,
                             192.168.24.12:27017,
                             192.168.24.13:27017"});

上面的配置是比较核心的配置,其中涉及到副本集等方面的具体配置,大家可以参考之前的几篇文章,这里就不再赘述

总结

mongodb的学习过程中,我最困难的阶段不是在学习分布式集群这块内容上,而是在最简单的环境配置上,那个过程,我需要从官网上,下载相应的服务器端,下载相应的客户端驱动,然后做一个最简单的实例,那个过程是最困难的,一旦走过那个过程,剩下的都不是事了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-09-30 14:24:38

mongodb的分布式集群(4、分片和副本集的结合)的相关文章

搭建高可用mongodb集群(二)—— 副本集

http://www.lanceyan.com/tech/mongodb/mongodb_repset1.html 在上一篇文章<搭建高可用MongoDB集群(一)——配置MongoDB> 提到了几个问题还没有解决. 主节点挂了能否自动切换连接?目前需要手工切换. 主节点的读写压力过大如何解决? 从节点每个上面的数据都是对数据库全量拷贝,从节点压力会不会过大? 数据压力大到机器支撑不了的时候能否做到自动扩展? 这篇文章看完这些问题就可以搞定了.NoSQL的产生就是为了解决大数据量.高扩展性.高

Elasticsearch 7.x 之节点、集群、分片及副本

从物理空间概念,Elasticsearch 分布式系统会有 3 个关键点需要学习.本次总结了下面相关内容: 分布式 节点 & 集群 主分片及副本 一.Elasticsearch 分布式 Elasticsearch 分布式特性包括如下几个点: 1.1 高可用 什么是高可用?CAP 定理是分布式系统的基础,也是分布式系统的 3 个指标: Consistency(一致性) Availability(可用性) Partition tolerance(分区容错性) 那高可用(High Availabili

【转】搭建高可用mongodb集群(二)—— 副本集

在上一篇文章<搭建高可用MongoDB集群(一)——配置MongoDB> 提到了几个问题还没有解决. 主节点挂了能否自动切换连接?目前需要手工切换. 主节点的读写压力过大如何解决? 从节点每个上面的数据都是对数据库全量拷贝,从节点压力会不会过大? 数据压力大到机器支撑不了的时候能否做到自动扩展? 这篇文章看完这些问题就可以搞定了.NoSQL的产生就是为了解决大数据量.高扩展性.高性能.灵活数据模型.高可用性.但是光通过主从模式的架构远远达不到上面几点,由此MongoDB设计了副本集和分片的功能

利用Docker部署mongodb集群--分片与副本集

环境 Docker version 1.6.2  mongodb 3.0.4 第一步  编写Dockerfile并生成镜像 主意包含两个Dockerfile镜像,一个mongod的,一个mongos(在集群中负责路由) 编写Mongod的Dockerfile: FROM ubuntu:14.04 RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 ENV MONGO_MAJOR 3.0 RUN ech

Mongodb集群与分片 2

前面我们介绍了简单的集群配置实例.在简单实例中,虽然MongoDB auto-Sharding解决了海量存储问题,和动态扩容问题,但是离我们在真实环境下面所需要的高可靠性和高可用性还有一定的距离. 下面我们就介绍一个接近实际的解决方案: Shard:使用Replica Sets,来确保数据的可靠性.通过这个方案,可以在每个节点有数据的备份.实现自动控制容错转移和自动恢复 Config:使用3个配置服务器,确保元数据完整性 Route:配合LVS,实现负载均衡,提高接入性能. 1.配置集群目录 数

Mongodb集群与分片 1

分片集群 Mongodb中数据分片叫做chunk,它是一个Collection中的一个连续的数据记录,但是它有一个大小限制,不可以超过200M,如果超出产生新的分片. 下面是一个简单的分片集群实例 分片集群的构成: Shard server:mongod实例,用于存储实际的数据块 Config server:mongod实例,用于存储整个Cluster Metadata,其中包括chunk信息. Route server:mongos实例,做为整个集群的前端路由,整个集群由此接入.从而让整个集群

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

分片就是水平的扩展,将数据分拆到不同的机器上,以达到存储更多的数据,处理更大的负载.可以选定将按照指定的文档键值进行分片. 配置 整体部署方案: 启动三个分片服务,两个做数据存储,另一个作为config, 配置分片的副本集,创建管理员用户,关闭mongod,打开keyfile,启动mongos,配置分片服务. 角色 分片一般有三个组成部分: 分片服务(Shard Server),mongod 实例,2个以上,负责存储实际的数据分片,生产环境中一个Shard Server可由几台服务器组成一个Re

mongodb3.6集群搭建:分片+副本集

mongodb是最常用的noSql数据库,在数据库排名中已经上升到了前五.这篇文章介绍如何搭建高可用的mongodb(分片+副本)集群. 在搭建集群之前,需要首先了解几个概念:路由,分片.副本集.配置服务器等.相关概念mongodb集群架构图: 从图中可以看到有四个组件:mongos.config server.shard.replica set.mongos,数据库集群请求的入口,所有的请求都通过mongos进行协调,不需要在应用程序添加一个路由选择器,mongos自己就是一个请求分发中心,它

MongoDB 学习笔记之 分片和副本集混合运用

 分片和副本集混合运用: 基本架构图: 搭建详细配置: 3个shard + 3个replicat set + 3个configserver + 3个Mongos shardrsname Primary Secondary Secondary port bigdata-sh-a bigdata-sh-a1 bigdata-sh-a2 bigdata-sh-a3 28111 bigdata-sh-b bigdata-sh-b2 bigdata-sh-b1 bigdata-sh-b3 28112 bi