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 admin
db.runCommand( { resync: 1 } )
use local
db.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 testdb
switched to db testdb
rs0:PRIMARY> db.test1231.insert({"name":"test repl"});
WriteResult({ "nInserted" : 1 })
rs0:SECONDARY> rs.slaveOk();
rs0:SECONDARY> use testdb
switched to db testdb
rs0:SECONDARY> show collections;
test1231
rs0:SECONDARY> db.test1231.find();
{ "_id" : ObjectId("567f58f221cb21ff2f187d33"), "name" : "test repl" }
设置优先级,是否隐藏及延时
cfg = rs.conf()
cfg.members[0].priority = 0
cfg.members[0].hidden = true
cfg.members[0].slaveDelay = 3600
rs.reconfig(cfg)
设置选举权:
cfg = rs.conf()
cfg.members[3].votes = 0
cfg.members[4].votes = 0
cfg.members[5].votes = 0
rs.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 ...
随机推荐
- U盘空间释放
U盘做成启动盘后,怎么释放空间,恢复到原来的容量.这里有个帖子,我觉得很方便,不用安装什么东西,简单直接. http://blog.sina.com.cn/s/blog_68f6e8a901014cv ...
- Java的技术体系结构
作为程序开发者,我们都想写出完美的代码,但世界上好像从来都没有过完美的代码,因为代码牵涉的内容很复杂,有程序设计语言.运行环境.数据结构以及算法等等,而开发者往往很难全面精通,再者写代码本来也就是一个 ...
- Question 20171115 String&&StringBuffer&&StringBuilder的区别与联系?
Question 20171114 String&&StringBuffer&&StringBuilder的区别和联系 创建成功的String对象,其长度是固定的,内容 ...
- deprecate (声明不赞成)
deprecate (声明不赞成) 只是不赞成,不影响使用,或者你升级包 解决:update to 高版本 npm update [-g] [<pkg>...]
- (Linux 日常命令)[20171225]
目的:记录Linux日常所用命令 [20171222]Linux环境下查看硬件组件型号 cat /proc/cpuinfo及lspci 查看CPU [root@t-redhat- ~]# cat /p ...
- ASP.NET成员资格和角色管理
一.成员资格管理 1.成员资格管理模型 ASP.NET提供的成员资格管理功能,其核心是利用内置的成员库表(SQL Server).成员资格管理API(Membership.MembershipUser ...
- ELK的简述安装
一.ElasticSearch集群的安装及其配置 https://www.cnblogs.com/gentle-awen/p/10000801.html 可视化x-pack安装: https://ww ...
- 廖老师的Python教程——Python简介
一直想了解下Python,今儿在外面办事排队的时候,打开了廖老师的官网,找到了Python教程.虽然只是一篇关于Python的简介,但是通过将Python的特性与C进行对比,很生动地归纳了Python ...
- while,格式化输出
1. while循环: while 条件: 代码块(循环体) num=1 while num<=5: print(num) num+=1 break:结束循环;停止当前本层循环 continue ...
- sqli-labs 1-20实验记录
1. less1 首先输入?id=1 查找是否有注入点. 输入单引号 回显报错 说明有注入漏洞 而且是数字型 输入 1’ or 1=1 order by 1 猜测列名# 这里发现#不能变成url编码 ...