MongoDB的复制一:复制的原理
复制有三种角色:


http://www.itpub.net/thread-1740982-1-1.html


db.products.insert({ writeConcern: { w: 2, wtimeout: 5000 } } #至少写入一个从结点){ w: "majority", wtimeout: 5000 }
db.sources.insert( { host: <masterhostname> <,only: databasename> } );
use admindb.runCommand( { resync: 1 } )
use localdb.sources.update( { host : "prod.mississippi" },{ $set : { host : "prod.mississippi.example.net" } } )
> rs.initiate();{"info2" : "no configuration specified. Using a default configuration for the set","me" : "node1:27017","ok" : 0,"errmsg" : "No host described in new configuration 1 for replica set repl0 maps to this node","code" : 93}
> rs.conf();2015-12-27T11:04:15.763+0800 E QUERY [thread1] Error: Could not retrieve replica set config: {"info" : "run rs.initiate(...) if not yet done for the set","ok" : 0,"errmsg" : "no replset config has been received","code" : 94} :rs.conf@src/mongo/shell/utils.js:1090:11@(shell):1:1> cfg={"_id":"rs0","version":1,"members":[{"_id":1,"host":"192.168.75.10:27017"}]};{"_id" : "rs0","version" : 1,"members" : [{"_id" : 1,"host" : "192.168.75.10:27017"}]}> rs.initiate(cfg);{ "ok" : 1 }
rs0:PRIMARY> rs.add("192.168.75.11:27017");{ "ok" : 1 }rs0:PRIMARY> rs.add("192.168.75.12:27017");{ "ok" : 1 }
rs0:PRIMARY> rs.status();{"set" : "rs0","date" : ISODate("2015-12-27T03:13:26.970Z"),"myState" : 1,"term" : NumberLong(1),"heartbeatIntervalMillis" : NumberLong(2000),"members" : [{"_id" : 1,"name" : "192.168.75.10:27017","health" : 1,"state" : 1,"stateStr" : "PRIMARY","uptime" : 575,"optime" : {"ts" : Timestamp(1451185968, 1),"t" : NumberLong(1)},"optimeDate" : ISODate("2015-12-27T03:12:48Z"),"electionTime" : Timestamp(1451185613, 2),"electionDate" : ISODate("2015-12-27T03:06:53Z"),"configVersion" : 3,"self" : true},{"_id" : 2,"name" : "192.168.75.11:27017","health" : 1,"state" : 2,"stateStr" : "SECONDARY","uptime" : 41,"optime" : {"ts" : Timestamp(1451185968, 1),"t" : NumberLong(1)},"optimeDate" : ISODate("2015-12-27T03:12:48Z"),"lastHeartbeat" : ISODate("2015-12-27T03:13:24.973Z"),"lastHeartbeatRecv" : ISODate("2015-12-27T03:13:26.011Z"),"pingMs" : NumberLong(1),"syncingTo" : "192.168.75.10:27017","configVersion" : 3},{"_id" : 3,"name" : "192.168.75.12:27017","health" : 1,"state" : 2,"stateStr" : "SECONDARY","uptime" : 37,"optime" : {"ts" : Timestamp(1451185968, 1),"t" : NumberLong(1)},"optimeDate" : ISODate("2015-12-27T03:12:48Z"),"lastHeartbeat" : ISODate("2015-12-27T03:13:25.028Z"),"lastHeartbeatRecv" : ISODate("2015-12-27T03:13:25.128Z"),"pingMs" : NumberLong(1),"configVersion" : 3}],"ok" : 1}
rs0:PRIMARY> use testdbswitched to db testdbrs0:PRIMARY> db.test1231.insert({"name":"test repl"});WriteResult({ "nInserted" : 1 })
rs0:SECONDARY> rs.slaveOk();rs0:SECONDARY> use testdbswitched to db testdbrs0:SECONDARY> show collections;test1231rs0:SECONDARY> db.test1231.find();{ "_id" : ObjectId("567f58f221cb21ff2f187d33"), "name" : "test repl" }
设置优先级,是否隐藏及延时cfg = rs.conf()cfg.members[0].priority = 0cfg.members[0].hidden = truecfg.members[0].slaveDelay = 3600rs.reconfig(cfg)
设置选举权:cfg = rs.conf()cfg.members[3].votes = 0cfg.members[4].votes = 0cfg.members[5].votes = 0rs.reconfig(cfg)
MongoDB的复制一:复制的原理的更多相关文章
- MongoDB之Replica Set(复制集复制)
MongoDB支持两种复制模式: 主从复制(Master/Slave) 复制集复制(Replica Set) 下面主要记录我在centos虚拟机上安装replica set,主要参考:http://d ...
- Studio 3T for MongoDB连接51.212复制集
Studio 3T for MongoDB连接51.212复制集 [ #DirectConection Authentication Mode - Basic(MONGODB-CR or SCEAM- ...
- Java基础-输入输出-3.编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc。
3.编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc. try { FileInputStream in = ...
- iOS开发之Copy & MutableCopy及深复制 & 浅复制
1.使用copy或mutableCopy方法可以创建一个对象的副本. copy: (1)需要实现NSCoppying协议 (2)创建的是不可变副本(如NSString.NSArray.NSDictio ...
- 简单理解php深复制浅复制问题
其实接触深复制浅复制是通过学习c++了解到的,比如c++很好用的模板,php是不允许方法模板和类模板 一个简单的例子,如果不是很了解php 的取地址符&,可以去看下官方文档,php的& ...
- [No0000B9]C# 类型基础 值类型和引用类型 及其 对象复制 浅度复制vs深度复制 深入研究2
接上[No0000B5]C# 类型基础 值类型和引用类型 及其 对象判等 深入研究1 对象复制 有的时候,创建一个对象可能会非常耗时,比如对象需要从远程数据库中获取数据来填充,又或者创建对象需要读取硬 ...
- MySQL的并行复制多线程复制MTS(Multi-Threaded Slaves)
MySQL的并行复制多线程复制MTS(Multi-Threaded Slaves) http://www.tuicool.com/articles/m2Unmeq 姜承饶 简称MTS:基于binlog ...
- java 浅复制 深复制
1.浅复制 只是复制引用,对引用的操作会影响之前复制的对象. 2.深复制 复制一个完全独立的对象,复制对象与被复制对象相互之间不影响. 只是概念性东西....
- HDFS源码分析数据块复制选取复制源节点
数据块的复制当然需要一个源数据节点,从其上拷贝数据块至目标数据节点.那么数据块复制是如何选取复制源节点的呢?本文我们将针对这一问题进行研究. 在BlockManager中,chooseSourceDa ...
- java 及 Jquery中的深复制 浅复制
发现问题:最近 遇到由于复制对象之后,改变复制后的新变量,原先被复制的对象居然会跟着变. EX:java中: //holidayConfig.getEnd_time()会随着sTime的改变而改变 s ...
随机推荐
- js中实现页面跳转(返回前一页、后一页)
一:JS 重载页面,本地刷新,返回上一页 代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a ...
- Java秒杀系统方案优化 高性能高并发实战(已完成)
1:商品列表 2:商品详情判断是否可以开始秒杀,未开始不显示秒杀按钮显示倒计时,开始显示秒杀按钮,同时会显示验证码输入框以及验证码图片,当点击秒杀按钮的时候会首先判断验证码是否正确,如果正确会返回一个 ...
- mysql的数据操作和内置功能总结
一.数据的增删改查 1.插入数据 a.插入完整数据(顺序插入) INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n); INSERT INTO 表名 ...
- LayaBox进阶之UI管理器
自己动手写框架的话,UI管理器是最基础的一部分: 打开界底层是addChild打开的: 新建一个UIManager export class UIManager { private mainC ...
- thinkphp3.2.3实现多条件查询实例.
$data = M("datainfo"); $projectsname = I('get.projectsname');//前台提交的模糊查询字段 // 查询条件 $where ...
- Python学习 :文件操作
文件基本操作流程: 一. 创建文件对象 二. 调用文件方法进行操作 三. 关闭文件(注意:只有在关闭文件后,才会写入数据) fh = open('李白诗句','w',encoding='utf-8') ...
- QOS-基本拥塞管理机制(PQ CQ WFQ RTPQ)
QOS-基本拥塞管理机制(PQ CQ WFQ RTPQ) 2018年7月7日 20:29 拥塞:是指当前供给资源相对于正常转发处理需要资源的不足,从而导致服务质量下降的一种现象 拥塞管理概述: ...
- maven 添加自己下载的jar包到本地仓库
1.在pom文件中添加依赖,其中groupId等变量都自拟. 例如: 2.在命令行执行以下命令,提示build success即表示安装成功. mvn install:install-file -Dg ...
- Python3爬虫(十三) 爬取动态页之Selenium
Infi-chu: http://www.cnblogs.com/Infi-chu/ Python提供了很多模拟浏览器运行的库,比如:Selenium.Splash等 1.常用的引用 from sel ...
- HASH算法小结
一.简述 HASH算法的本质是特征提取——将某种不太好表示的特征,通过某种压缩的方式映射成一个值.这样,就可以优雅解决一部分难以解决的特征统计问题. 同时考虑到hash算法的本质是个概率算法,因此并不 ...