#模拟主节点异常中断
[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. Replicated Ship 本地 kubernetes 环境试用

    关于介绍可以参考 https://github.com/replicatedhq/ship 或者我写的一个比较简单的demo https://www.cnblogs.com/rongfengliang ...

  2. 并发运算lib

    最近对类似于erlang或者golang的并发运算很感兴趣.以下是看到的相关资料. libgo c++,技术:协程,多线程.这是俺发现的用法最漂亮的c++库,用法参考golang CAF 全称c++ ...

  3. linux shell创建目录、遍历子目录

    1.创建目录 代码1: #!/bin/bash#如果没有tmp_dir目录则创建static_dir="/web/fyunw.com/static"if [ ! -d $staic ...

  4. ElasticSearch(三)不仅仅是查询

    二次评分 查询出来结果后,进行二次评分: 但是其实每个文档查询出来的结果是两次查询的分数之和,这个其实并不是很能讲的清楚: 多匹配控制 多匹配是指multi-match,控制则是指一下的几种控制方式: ...

  5. [shell]find命令

    find ./ -mtime 18 -exec ls -l {} \; 该范例中特殊的地方有 {} 以及 \; 还有 -exec 这个关键字,这些东西的意义为: {} 代表的是『由 find 找到的内 ...

  6. c++中无名命名空间的使用

    1. 命名空间作用 命名空间是程序设计者命名的内存区域,程序设计者根据需指定一些有名字的空间域,把一些全局实体分别存放到各个命名空间中,从而与其他全局实体分隔开. 通俗的说,每个名字空间都是一个名字空 ...

  7. Spark代码Eclipse远程调试

    我们在编写Spark Application或者是阅读源码的时候,我们很想知道代码的运行情况,比如参数设置的是否正确等等.用Logging方式来调试是一个可以选择的方式,但是,logging方式调试代 ...

  8. 简单说说 Java 的 JVM 内存结构

    问:简单说说 Java 的 JVM 内存结构分为哪几个部分? 答:JVM 内存共分为虚拟机栈.堆.方法区.程序计数器.本地方法栈五个部分,分别解释如下.虚拟机栈:线程私有的,每个方法在执行时会创建一个 ...

  9. Pandas的使用(3)---Pandas的数据结构

    Pandas的使用(3) Pandas的数据结构 1.Series 2.DataFrame

  10. [NEWS]Microsoft expands partnerships with AOL and AppNexus, Bing to power search for AOL properties

    http://advertising.microsoft.com/en/blog/33906/microsoft-expands-partnerships-with-aol-and-appnexus- ...