#模拟主节点异常中断
[root@ba3b27d855f6 bin]# kill -9 199
[root@ba3b27d855f6 bin]# 
 #连接到其中一台备份节点
[root@ba3b27d855f6 bin]# ./mongo 172.17.0.4:27018
MongoDB shell version v3.6.3
connecting to: mongodb://172.17.0.4:27018/test
MongoDB server version: 3.6.3
Server has startup warnings: 
2018-08-10T07:12:26.849+0000 I CONTROL  [initandlisten] 
2018-08-10T07:12:26.849+0000 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2018-08-10T07:12:26.849+0000 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2018-08-10T07:12:26.849+0000 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2018-08-10T07:12:26.849+0000 I CONTROL  [initandlisten] 
2018-08-10T07:12:26.850+0000 I CONTROL  [initandlisten] 
2018-08-10T07:12:26.850+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2018-08-10T07:12:26.850+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2018-08-10T07:12:26.850+0000 I CONTROL  [initandlisten] 
2018-08-10T07:12:26.850+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2018-08-10T07:12:26.850+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2018-08-10T07:12:26.850+0000 I CONTROL  [initandlisten] 
test:SECONDARY> rs.config()
{
"_id" : "test",
"version" : 88878,
"protocolVersion" : NumberLong(1),
"members" : [
{
"_id" : 0,
"host" : "172.17.0.4:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 1
},
{
"_id" : 1,
"host" : "172.17.0.4:27018",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 0,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 0
},
{
"_id" : 2,
"host" : "172.17.0.4:27019",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 0,
"tags" : {
},
"slaveDelay" : NumberLong(0),
"votes" : 0
}
],
"settings" : {
"chainingAllowed" : true,
"heartbeatIntervalMillis" : 2000,
"heartbeatTimeoutSecs" : 10,
"electionTimeoutMillis" : 10000,
"catchUpTimeoutMillis" : -1,
"catchUpTakeoverDelayMillis" : 30000,
"getLastErrorModes" : {
},
"getLastErrorDefaults" : {
"w" : 1,
"wtimeout" : 0
},
"replicaSetId" : ObjectId("5b6d3d7e3e136dadfa2a8181")
}
}
test:SECONDARY> rs.status()
{
"set" : "test",
"date" : ISODate("2018-08-10T07:42:56.040Z"),
"myState" : 2,
"term" : NumberLong(1),
"heartbeatIntervalMillis" : NumberLong(2000),
"optimes" : {
"lastCommittedOpTime" : {
"ts" : Timestamp(1533886914, 1),
"t" : NumberLong(1)
},
"readConcernMajorityOpTime" : {
"ts" : Timestamp(1533886914, 1),
"t" : NumberLong(1)
},
"appliedOpTime" : {
"ts" : Timestamp(1533886914, 1),
"t" : NumberLong(1)
},
"durableOpTime" : {
"ts" : Timestamp(1533886914, 1),
"t" : NumberLong(1)
}
},
"members" : [
{
"_id" : 0,
"name" : "172.17.0.4:27017",
"health" : 0,
"state" : 8,  #8 代表DOWN
"stateStr" : "(not reachable/healthy)",
"uptime" : 0,
"optime" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"optimeDurable" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"optimeDate" : ISODate("1970-01-01T00:00:00Z"),
"optimeDurableDate" : ISODate("1970-01-01T00:00:00Z"),
"lastHeartbeat" : ISODate("2018-08-10T07:42:54.251Z"),
"lastHeartbeatRecv" : ISODate("2018-08-10T07:42:02.603Z"),
"pingMs" : NumberLong(0),
"lastHeartbeatMessage" : "Connection refused",
"configVersion" : -1
},
{
"_id" : 1,
"name" : "172.17.0.4:27018",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 1831,
"optime" : {
"ts" : Timestamp(1533886914, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2018-08-10T07:41:54Z"),
"infoMessage" : "could not find member to sync from",
"configVersion" : 88878,
"self" : true
},
{
"_id" : 2,
"name" : "172.17.0.4:27019",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 1151,
"optime" : {
"ts" : Timestamp(1533886914, 1),
"t" : NumberLong(1)
},
"optimeDurable" : {
"ts" : Timestamp(1533886914, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2018-08-10T07:41:54Z"),
"optimeDurableDate" : ISODate("2018-08-10T07:41:54Z"),
"lastHeartbeat" : ISODate("2018-08-10T07:42:54.245Z"),
"lastHeartbeatRecv" : ISODate("2018-08-10T07:42:54.245Z"),
"pingMs" : NumberLong(0),
"configVersion" : 88878
}
],
"ok" : 1,
"operationTime" : Timestamp(1533886914, 1),
"$clusterTime" : {
"clusterTime" : Timestamp(1533886914, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}
test:SECONDARY> rs.slaveOk()
test:SECONDARY> db.school.find()
{ "_id" : ObjectId("5b6d3436dc9a5ab161c121e1"), "name" : "xuaiqi", "date" : ISODate("2018-08-10T06:44:06.284Z") }
{ "_id" : ObjectId("5b6d37ce1a42350d380cb142"), "nme" : "ddddd" }
test:SECONDARY> 
test:SECONDARY> 
test:SECONDARY> var config = rs.config()
test:SECONDARY> config.members[1].priority = 1
1
test:SECONDARY> config.members[1].votes = 1
1
test:SECONDARY> config.members[0].priority = 0
0
test:SECONDARY> config.members[0].votes = 0
0
test:SECONDARY> 
test:SECONDARY> rs.reconfig(config, {"force" : true})
{
"ok" : 1,
"operationTime" : Timestamp(1533886914, 1),
"$clusterTime" : {
"clusterTime" : Timestamp(1533886914, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}
test:SECONDARY> 
test:SECONDARY> 
test:SECONDARY> 
test:SECONDARY> 
test:SECONDARY> rs.status()
{
"set" : "test",
"date" : ISODate("2018-08-10T07:46:28.258Z"),
"myState" : 2,
"term" : NumberLong(1),
"heartbeatIntervalMillis" : NumberLong(2000),
"optimes" : {
"lastCommittedOpTime" : {
"ts" : Timestamp(1533886914, 1),
"t" : NumberLong(1)
},
"appliedOpTime" : {
"ts" : Timestamp(1533886914, 1),
"t" : NumberLong(1)
},
"durableOpTime" : {
"ts" : Timestamp(1533886914, 1),
"t" : NumberLong(1)
}
},
"members" : [
{
"_id" : 0,
"name" : "172.17.0.4:27017",
"health" : 0,
"state" : 8,
"stateStr" : "(not reachable/healthy)",
"uptime" : 0,
"optime" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"optimeDurable" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"optimeDate" : ISODate("1970-01-01T00:00:00Z"),
"optimeDurableDate" : ISODate("1970-01-01T00:00:00Z"),
"lastHeartbeat" : ISODate("2018-08-10T07:46:27.827Z"),
"lastHeartbeatRecv" : ISODate("2018-08-10T07:42:02.603Z"),
"pingMs" : NumberLong(0),
"lastHeartbeatMessage" : "Connection refused",
"configVersion" : -1
},
{
"_id" : 1,
"name" : "172.17.0.4:27018",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 2043,
"optime" : {
"ts" : Timestamp(1533886914, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2018-08-10T07:41:54Z"),
"infoMessage" : "could not find member to sync from",
"configVersion" : 195180,
"self" : true
},
{
"_id" : 2,
"name" : "172.17.0.4:27019",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 1363,
"optime" : {
"ts" : Timestamp(1533886914, 1),
"t" : NumberLong(1)
},
"optimeDurable" : {
"ts" : Timestamp(1533886914, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2018-08-10T07:41:54Z"),
"optimeDurableDate" : ISODate("2018-08-10T07:41:54Z"),
"lastHeartbeat" : ISODate("2018-08-10T07:46:27.811Z"),
"lastHeartbeatRecv" : ISODate("2018-08-10T07:46:27.817Z"),
"pingMs" : NumberLong(0),
"configVersion" : 195180
}
],
"ok" : 1,
"operationTime" : Timestamp(1533886914, 1),
"$clusterTime" : {
"clusterTime" : Timestamp(1533886914, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}
test:SECONDARY> rs.status()
{
"set" : "test",
"date" : ISODate("2018-08-10T07:46:36.524Z"),
"myState" : 1,
"term" : NumberLong(2),
"heartbeatIntervalMillis" : NumberLong(2000),
"optimes" : {
"lastCommittedOpTime" : {
"ts" : Timestamp(1533887189, 1),
"t" : NumberLong(2)
},
"readConcernMajorityOpTime" : {
"ts" : Timestamp(1533887189, 1),
"t" : NumberLong(2)
},
"appliedOpTime" : {
"ts" : Timestamp(1533887189, 1),
"t" : NumberLong(2)
},
"durableOpTime" : {
"ts" : Timestamp(1533887189, 1),
"t" : NumberLong(2)
}
},
"members" : [
{
"_id" : 0,
"name" : "172.17.0.4:27017",
"health" : 0,
"state" : 8,
"stateStr" : "(not reachable/healthy)",
"uptime" : 0,
"optime" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"optimeDurable" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"optimeDate" : ISODate("1970-01-01T00:00:00Z"),
"optimeDurableDate" : ISODate("1970-01-01T00:00:00Z"),
"lastHeartbeat" : ISODate("2018-08-10T07:46:34.526Z"),
"lastHeartbeatRecv" : ISODate("2018-08-10T07:42:02.603Z"),
"pingMs" : NumberLong(0),
"lastHeartbeatMessage" : "Connection refused",
"configVersion" : -1
},
{
"_id" : 1,
"name" : "172.17.0.4:27018",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 2051,
"optime" : {
"ts" : Timestamp(1533887189, 1),
"t" : NumberLong(2)
},
"optimeDate" : ISODate("2018-08-10T07:46:29Z"),
"infoMessage" : "could not find member to sync from",
"electionTime" : Timestamp(1533887188, 1),
"electionDate" : ISODate("2018-08-10T07:46:28Z"),
"configVersion" : 195180,
"self" : true
},
{
"_id" : 2,
"name" : "172.17.0.4:27019",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 1372,
"optime" : {
"ts" : Timestamp(1533887189, 1),
"t" : NumberLong(2)
},
"optimeDurable" : {
"ts" : Timestamp(1533887189, 1),
"t" : NumberLong(2)
},
"optimeDate" : ISODate("2018-08-10T07:46:29Z"),
"optimeDurableDate" : ISODate("2018-08-10T07:46:29Z"),
"lastHeartbeat" : ISODate("2018-08-10T07:46:36.519Z"),
"lastHeartbeatRecv" : ISODate("2018-08-10T07:46:32.819Z"),
"pingMs" : NumberLong(0),
"syncingTo" : "172.17.0.4:27018",
"configVersion" : 195180
}
],
"ok" : 1,
"operationTime" : Timestamp(1533887189, 1),
"$clusterTime" : {
"clusterTime" : Timestamp(1533887189, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}
test:PRIMARY> exit
bye
[root@ba3b27d855f6 bin]#

MongoDB集群搭建之副本集模仿主从模式的行为的更多相关文章

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

    mongodb是最常用的noSql数据库,在数据库排名中已经上升到了前五.这篇文章介绍如何搭建高可用的mongodb(分片+副本)集群. 在搭建集群之前,需要首先了解几个概念:路由,分片.副本集.配置 ...

  2. MongoDB 3.6.9 集群搭建 - 切片+副本集

    1. 环境准备 在Mongo的官网下载Linux版本安装包,然后解压到对应的目录下:由于资源有限,我们采用Replica Sets + Sharding方式来配置高可用.结构图如下所示: 这里我说明下 ...

  3. mongodb 搭建集群(分片+副本集)

    mongodb  搭建集群(分片+副本集) 一.搭建结构图: 二.搭建步骤:

  4. mongodb 3.4 集群搭建升级版 五台集群

    最新版mongodb推荐使用yaml语法来做配置,另外一些旧的配置在最新版本中已经不在生效,所以我们在生产实际搭建mongodb集群的时候做了一些改进.如果大家不熟悉什么是分片.副本集.仲裁者的话请先 ...

  5. 分布式实时日志系统(一)环境搭建之 Jstorm 集群搭建过程/Jstorm集群一键安装部署

    最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式 ...

  6. Mysql集群搭建(多实例、主从)

    1 MySQL多实例 一 .MySQL多实例介绍 1.什么是MySQL多实例 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307,3308),运行多个MySQL服务进程,通 ...

  7. Kubernetes集群搭建之Etcd集群配置篇

    介绍 etcd 是一个分布式一致性k-v存储系统,可用于服务注册发现与共享配置,具有以下优点. 简单 : 相比于晦涩难懂的paxos算法,etcd基于相对简单且易实现的raft算法实现一致性,并通过g ...

  8. mongodb分片集群(无副本集)搭建

    数据分片节点#192.168.114.26#mongo.cnfport=2001dbpath=/data/mongodb/datalogpath=/data/mongodb/log/mongodb.l ...

  9. mongodb的分布式集群(2、副本集)

    概述        副本集是主从复制的一种,是一种自带故障转移功能的主从复制.攻克了上述主从复制的缺点.实现主server发生问题后.不需人为介入.系统自己主动从新选举一个新的主server的功能. ...

随机推荐

  1. 06机器学习实战之SVM

    对偶的概念 https://blog.csdn.net/qq_34531825/article/details/52872819?locationNum=7&fps=1 拉格朗日乘子法.KKT ...

  2. 算法(第4版) (Robert Sedgewick / Kevin Wayne 著)

    第1章 基础 第2章 排序 第3章 查找 第4章 图 第5章 字符串 第1章 基础 public class Bag<T> : IEnumerable<T> { ]; ; pu ...

  3. 【转存】Vue组件选项props

    原帖地址 前面的话 组件接受的选项大部分与Vue实例一样,而选项props是组件中非常重要的一个选项.在 Vue 中,父子组件的关系可以总结为 props down, events up.父组件通过  ...

  4. Qt开发问答

    Qt开发问答 1, Difference between Dialog and widget and QMainWindow http://www.qtcentre.org/threads/3465- ...

  5. CentOS6.5系统下RPM包安装MySQL5.6(转)

    1.查看操作系统相关信息. [root@linuxidc ~]# cat /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m [root@ ...

  6. python 字符串格式化—format

    Python2.6 开始,新增了一种格式化字符串的函数 str.format().使用起来简单方便,不会遇到使用%时候格式的选择问题. 按照参数默认顺序 >>> "yesd ...

  7. C#:memcached安装及.NET中的Memcached.ClientLibrary使用详解

    memcached分布式缓存的负载均衡配置比例,数据压缩,socket的详细配置等,以及在.net中的常用方法. 下载地址:http://pan.baidu.com/s/1yVILw       提取 ...

  8. java小程序(课堂作业06)

    编写一个程序,此程序在运行时要求用户输入一个 整数,代表某门课的考试成绩,程序接着给出“不及格”.“及格”.“中”.“良”.“优”的结论. 要求程序必须具备足够的健壮性,不管用户输入什 么样的内容,都 ...

  9. backgroud 应用减小资源大小和请求数

    一,一个典型的应用,利用小图的自动延伸,实现整个网页背景图,充分节约资源宽带.如:汽车之家的404页背景图就是这样 <div style="height: 3000px; backgr ...

  10. #ifdef __cplusplus extern "C" { #endif 含义

    转载! 1.在好多程序中我们会遇到下面代码段 #ifdef __cplusplus         extern "C" {         #endif //c语法代码段 #if ...