一、副本集(replSet)
在普通的主从关系的部署模式已经满足不了需求,所以推介副本集形式,好处之一是在主节点down了以后可以自动地在众多的secondary的节点中推选出主节点,实现自动切换。
配置方式如下:
- 创建rs.conf启动配置文件
port = 27017 dbpath = /data/db logpath = /log/log.log fork = true replSet = test
主要的参数设置 - 启动mongodb
./mongod -f rs.conf
- 任意进入一个副本集mongo
config={ _id:'test',members:[ {_id:0,host:"192.168.13.1:27017"}, {_id:1,host:"192.168.13.2:27017"}, {_id:2,host:"192.168.13.3:27017"} ] } rs.initiate(config)
如此便启动副本集成功
二、分片(shards)
副本集是从数据冗余来解决读写性能和容灾,但是对于读写性能来讲提升有限,并且当数据量达到一定程度时数据的存储和吞吐都会出现瓶颈,而分片恰好用数据分储来解决吞吐性能,单个分片shard可以使用Master-Slave或者使用replSet(推荐),所以对于大规模的数据储存还是推荐使用分布式shards。
服务器MongoDB实例所需要的角色config-server(配置服务器),mongos-server(片键服务器存储片键拆分相当于数据路由器),shards-server(分片服务器实际的储存数据的服务器)
配置方式:
- 配置config-server方式跟普通的mongodb一样设置port,fork,dbpath,logpath
- 配置mongos-server不需要配置dbpath,需要配置configdb指向(1)中配置的host:port
- 配置shard跟普通的mongodb实例一样同(1)
-
登录mongos进行分片的指向,
use admin; db.runCommand({"addshard":"192.168.13.213:10000"})
将192.168.13.213:10000作为分片加入 -
加入完shards,开始配置进行分片的DB以及Collection
#shard db db.runCommand( { enablesharding : "shard" } );
#shard collections db.runCommand( { shardcollection : "shard.test", key : { name : 1 } } )
key是指明进行分片的字段,改字段必须是已经作了索引,而且联合index进行分片 -
移除shard
db.runCommand({removeshard:"192.168.13.213:10002"});
但是移除的shard是某个db的primary的话需要movePrimarydb.runCommand({ movePrimary : "shard", to : "shard0002" });
-
一些管理命令
db.printShardingStatus();
查看分片的情况use config; db.shards.find();
可以使用config库来查看一些配置记录
相关推荐
(3) 请在报告中使用文字和截图详细描述MongoDB分片集群搭建及配置的主要步骤: - 搭建配置集服务器(Mongod) - 搭建分片集服务器(Mongod) - 搭建路由节点服务器(Mongos) - 添加分片集到集群 - 创建数据库...
mongo数据库的大型分布式部署文档。 Mongo大型部署 1. 一个或多个分片,其中每个分片持有部分数据(自动管理)。读写操作自动路由到合适的分片上。每个分片是一个replica set。 一个replica set是一台或多台服务器,...
本文档是一份 MongoDB 集群的sharding模式配置实例,环境是某电信运营商的模拟环境,示例配置意义具有较高的可信度,可以作为生产环境的部署实施参考。
原创Linux下Mongodb的分布式分片群集(sharding cluster)配置
在之前的文章中介绍了如何对关系型数据数据通过auto-sharding进行分布式数据存储,今天介绍如何对物理文件(小文件,基本小于100K)进行分布式存储。接着看一下要配置的测试环境(与前一篇中类似):模拟2个shard服务...
Linux下Mongodb的分布式分片群集shardingcluster配置.pdf
我研究过的nosql,memcache,redis,mongodb都是支持分布式的,生产环境中用过memcache,redis,性能稳定。mongodb是最接近关系型数据库的,不用花很多时间去构建数据库模型,将来我会用mongodb,看一下主从配置
当我还是小白的时候,老大给我分配了一个mongodb分布式集群鉴权的任务,putty远程链接linux, 上传mongodb.tar.gz, 解压配置,(具体就不说了,我的csdn博客应该有)
linux环境下mongodb配置文档及安装包,安装之前一定要检查系统是多少位的,MongoDb区分位数使用 getconf LONG_BIT 命令查看
MongoDB开发使用手册 1 一.基础部分 1 MongDB简介 1 Mongdb的安装和配置 8 简单的数据操作 13 常用工具集 16 推荐客户端工具 16 二.mongoDB应用开发 18 MongoDB机制 18 ...三.mongoDB分布式集群 44 分片 44
mongodb数据库分布式分片群集的配置详解,是部署项目需要的
基于mongodb3.2的真实生产环境配置,日采集数据量10G+
mongodb分片配置.docx Mongodb.chm mongodb安装以及基本操作.docx MongoDB使用手册.doc mongo分布式研究.docx 有这5个文档足够学习Mongodb使用了
MongoDB分片副本级 详细的讲述了MongoDB分片副本级配置
黑洞中间件基于 mongodb,用于存储任意大小的大数据。开始和停止 python black_hole.py startpython black_hole.py stop配置 { "pwd":"path/to/black_hole", "blackhole": { "ip":"10.12.7.55", "port":8989, ...
作为基于分布式文件存储的数据库,在目前的云计算实践中,MongoDB炙手可热。《深入云计算(MongoDB管理与开发实战详解)》系统全面的介绍了MongoDB开发、管理、维护和性能优化等方方面面。详细而深入,对MongoDB的开发...
mongoDB是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。它介于关系数据库和非关系数据库之间,被认为是非关系数据库当中功能最丰富,最像关系数据库的...
本书分两部分,分别来自O’Reilly的《MongoDB扩展技术》与《MongoDB开发技巧50例》两书。前一部分“MongoDB扩展技术”指导大家创建...遵照其中建议,你很快就可通过MongoDB构建和运行一个高效的、可预测的分布式系统。
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像...