Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >mongodb副本集

mongodb副本集

作者头像
零月
发布于 2018-04-25 07:52:19
发布于 2018-04-25 07:52:19
1K00
代码可运行
举报
文章被收录于专栏:从零开始的linux从零开始的linux
运行总次数:0
代码可运行

机器

ip

node01(master)

71

node02(slave)

72

node03(slave)

73

  • 3台机器分别安装mongodb
  • 编辑三台机器的配置文件
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 # vim /etc/mongod.conf 
replication:
  oplogSizeMB: 20
  replSetName: alextest
在master上面操作
[root@node01 ~]# mongo
MongoDB shell version: 3.0.7
connecting to: test
Server has startup warnings: 
2017-06-20T02:33:02.858+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-06-20T02:33:02.858+0800 I CONTROL  [initandlisten] 
> use admin
switched to db admin
> config={_id:"alextest",members:[{_id:0,host:"192.168.6.71:27017"},{_id:1,host:"192.168.6.72:27017"},{_id:2,host:"192.168.6.73:27017"}]}
{
  "_id" : "alextest",
  "members" : [
  {
  "_id" : 0,
  "host" : "192.168.6.71:27017"
  },
  {
  "_id" : 1,
  "host" : "192.168.6.72:27017"
  },
  {
  "_id" : 2,
  "host" : "192.168.6.73:27017"
  }
  ]
}
> rs.initiate(config)
{ "ok" : 1 }
alextest:OTHER> rs.status()
{
  "set" : "alextest",
  "date" : ISODate("2017-06-19T18:36:53.118Z"),
  "myState" : 1,
  "members" : [
  {
  "_id" : 0,
  "name" : "192.168.6.71:27017",
  "health" : 1,
  "state" : 1,
  "stateStr" : "PRIMARY",
  "uptime" : 231,
  "optime" : Timestamp(1497897400, 1),
  "optimeDate" : ISODate("2017-06-19T18:36:40Z"),
  "electionTime" : Timestamp(1497897402, 1),
  "electionDate" : ISODate("2017-06-19T18:36:42Z"),
  "configVersion" : 1,
  "self" : true
  },
  {
  "_id" : 1,
  "name" : "192.168.6.72:27017",
  "health" : 1,
  "state" : 2,
  "stateStr" : "SECONDARY",
  "uptime" : 13,
  "optime" : Timestamp(1497897400, 1),
  "optimeDate" : ISODate("2017-06-19T18:36:40Z"),
  "lastHeartbeat" : ISODate("2017-06-19T18:36:52.030Z"),
  "lastHeartbeatRecv" : ISODate("2017-06-19T18:36:52.029Z"),
  "pingMs" : 1,
  "configVersion" : 1
  },
  {
  "_id" : 2,
  "name" : "192.168.6.73:27017",
  "health" : 1,
  "state" : 2,
  "stateStr" : "SECONDARY",
  "uptime" : 13,
  "optime" : Timestamp(1497897400, 1),
  "optimeDate" : ISODate("2017-06-19T18:36:40Z"),
  "lastHeartbeat" : ISODate("2017-06-19T18:36:52.017Z"),
  "lastHeartbeatRecv" : ISODate("2017-06-19T18:36:52.026Z"),
  "pingMs" : 0,
  "configVersion" : 1
  }
  ],
  "ok" : 1
}
alextest:PRIMARY> 
[root@node02 ~]# mongo
MongoDB shell version: 3.0.7
connecting to: test
Server has startup warnings: 
2017-06-20T08:24:00.437+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-06-20T08:24:00.437+0800 I CONTROL  [initandlisten] 
alextest:SECONDARY> 
[root@node03 ~]# mongo
MongoDB shell version: 3.0.7
connecting to: test
Server has startup warnings: 
2017-06-20T08:24:20.049+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-06-20T08:24:20.049+0800 I CONTROL  [initandlisten] 
alextest:SECONDARY> 
· 测试mongodb副本集
node01主
alextest:PRIMARY> use mydb
switched to db mydb
alextest:PRIMARY> show dbs
admin  0.078GB
alex   0.078GB
local  0.078GB
alextest:PRIMARY> db.C
db.changeUserPassword(  db.constructor          db.createUser(
db.cloneCollection(     db.copyDatabase(        db.currentOP(
db.cloneDatabase(       db.createCollection(    db.currentOp(
db.commandHelp(         db.createRole(
alextest:PRIMARY> db.createCollection('testc')
{ "ok" : 1 }
alextest:PRIMARY> show dbs
admin  0.078GB
alex   0.078GB
local  0.078GB
mydb   0.078GB
node02 从
alextest:SECONDARY> rs.slaveOk()
alextest:SECONDARY> show dbs
admin  0.078GB
alex   0.078GB
local  0.078GB
mydb   0.078GB
alextest:SECONDARY> use mydb
switched to db mydb
alextest:SECONDARY> show tables
system.indexes
testc
master上面操作
alextest:PRIMARY> cfg = rs.conf()
{
  "_id" : "alextest",
  "version" : 1,
  "members" : [
  {
  "_id" : 0,
  "host" : "192.168.6.71:27017",
  "arbiterOnly" : false,
  "buildIndexes" : true,
  "hidden" : false,
  "priority" : 1,
  "tags" : {
  },
  "slaveDelay" : 0,
  "votes" : 1
  },
  {
  "_id" : 1,
  "host" : "192.168.6.72:27017",
  "arbiterOnly" : false,
  "buildIndexes" : true,
  "hidden" : false,
  "priority" : 1,
  "tags" : {
  },
  "slaveDelay" : 0,
  "votes" : 1
  },
  {
  "_id" : 2,
  "host" : "192.168.6.73:27017",
  "arbiterOnly" : false,
  "buildIndexes" : true,
  "hidden" : false,
  "priority" : 1,
  "tags" : {
  },
  "slaveDelay" : 0,
  "votes" : 1
  }
  ],
  "settings" : {
  "chainingAllowed" : true,
  "heartbeatTimeoutSecs" : 10,
  "getLastErrorModes" : {
  },
  "getLastErrorDefaults" : {
  "w" : 1,
  "wtimeout" : 0
  }
  }
}
alextest:PRIMARY> cfg.members[0].priority = 3
3
alextest:PRIMARY> cfg.members[1].priority = 2
2
alextest:PRIMARY> cfg.members[2].priority = 1
1
alextest:PRIMARY> rs.reconfig(cfg)
{ "ok" : 1 }
alextest:PRIMARY> rs.config()
{
  "_id" : "alextest",
  "version" : 2,
  "members" : [
  {
  "_id" : 0,
  "host" : "192.168.6.71:27017",
  "arbiterOnly" : false,
  "buildIndexes" : true,
  "hidden" : false,
  "priority" : 3,
  "tags" : {
  },
  "slaveDelay" : 0,
  "votes" : 1
  },
  {
  "_id" : 1,
  "host" : "192.168.6.72:27017",
  "arbiterOnly" : false,
  "buildIndexes" : true,
  "hidden" : false,
  "priority" : 2,
  "tags" : {
  },
  "slaveDelay" : 0,
  "votes" : 1
  },
  {
  "_id" : 2,
  "host" : "192.168.6.73:27017",
  "arbiterOnly" : false,
  "buildIndexes" : true,
  "hidden" : false,
  "priority" : 1,
  "tags" : {
  },
  "slaveDelay" : 0,
  "votes" : 1
  }
  ],
  "settings" : {
  "chainingAllowed" : true,
  "heartbeatTimeoutSecs" : 10,
  "getLastErrorModes" : {
  },
  "getLastErrorDefaults" : {
  "w" : 1,
  "wtimeout" : 0
  }
  }
}
alextest:PRIMARY> 
现在master挂了可以自动切换了 node02的slave变master
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-06-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始的linux 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
mongodb副本集主从切换
因默认情况下,各节点的权重都为1,因此可以调整需要切换为主库的节点的权重为较大的值(建议超过节点数)
俊才
2021/12/17
2.7K0
MongoDB副本集设置节点优先级priority
MongoDB副本集中,如果要指定某些节点不能被选为primary节点,或者primary节点必须在某些节点中选出,该怎么配置呢?没错可以通过priority修改这些节点的优先级实现。
Power
2025/03/02
1320
mongodb副本集搭建
副本集(Replica Set)是一组MongoDB实例组成的集群,由一个主(Primary)服务器和多个备份(Secondary)服务器构成。通过Replication,将数据的更新由Primary推送到其他实例上,在一定的延迟之后,每个MongoDB实例维护相同的数据集副本。通过维护冗余的数据库副本,能够实现数据的异地备份,读写分离和自动故障转移。
端碗吹水
2020/09/23
1.1K0
mongodb副本集搭建
MongoDB 副本集配置详解
MongoDB复制是将数据同步在多个服务器的过程。复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性。 复制还允许您从硬件故障和服务中断中恢复数据。
星哥玩云
2022/08/17
5640
mongodb 复制集 运维 遇到的问题
192.168.2.1    dump节点 ,之前因为磁盘不足,mongodb进程已宕机,这个实例也配置有vote投票权!
保持热爱奔赴山海
2019/09/17
1.2K0
MongoDB副本集
如果你们现在服务器显示当前的服务器的状态是:SECONDARY。表示该服务器是从服务器,我们需要查看哪台服务器为主服务器,也就是"stateStr" : "PRIMARY"。我们需要在主服务器才进行进行操作,当然,也有强行在从服务器进行操作的办法。这里先不说。
魔王卷子
2019/06/01
1.6K0
Mongodb 副本集安装配置
一、基础了解 早期版本使用master-slave,一主一从和MySQL类似,但slave在此架构中为只读,当主库宕机后,从库不能自动切换为主。 目前已经淘汰master-slave模式,改为副本集,这种模式下有一个主(primary),和多个从(secondary),只读。支持给它们设置权重,当主宕掉后,权重最高的从切换为主。 在此架构中还可以建立一个仲裁(arbiter)的角色,它只负责裁决,而不存储数据。 再此架构中读写数据都是在主上,要想实现负载均衡的目的需要手动指定读库的目标server。 来看一
老七Linux
2018/05/31
6540
Mongodb主从复制/ 副本集/分片集群介绍
前面的文章介绍了Mongodb的安装使用,在 MongoDB 中,有两种数据冗余方式,一种 是 Master-Slave 模式(主从复制),一种是 Replica Sets 模式(副本集)。 Mongodb一共有三种集群搭建的方式: Replica Set(副本集)、 Sharding(切片) Master-Slaver(主从)【目前已不推荐使用了!!!】 其中,Sharding集群也是三种集群中最复杂的。 副本集比起主从可以实现故障转移!!非常使用! mongoDB目前已不推荐使用主从模式,取而代之的
洗尽了浮华
2018/01/22
17.7K2
Mongodb主从复制/ 副本集/分片集群介绍
浅尝辄止MongoDB:复制
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy0623/article/details/83113823
用户1148526
2019/05/25
6060
Monogo副本集
MongoDB 副本集(Replica Set)是有自动故障恢复功能的主从集群,有一个Primary节点和一个或多个Secondary节点组成。类似于MySQL的MMM架构
mikelLam
2022/10/31
8920
Monogo副本集
MongoDB的集群模式–Sharding(分片)
分片是数据跨多台机器存储,MongoDB使用分片来支持具有非常大的数据集和高吞吐量操作的部署。
星哥玩云
2022/08/18
1.3K0
MongoDB的集群模式–Sharding(分片)
MongoDB的集群模式 – Replica Set
二、安装部署(请访问 "MongoDB安装")https://www.linuxidc.com/Linux/2019-07/159249.htm
星哥玩云
2022/08/18
9690
MongoDB的集群模式 – Replica Set
mongodb副本集添加节点
mongodb副本集架构运行一段时间后如果业务发展需要新增新的成员,或者迁移集群,则可以参考本文处理
俊才
2021/12/17
2.6K0
关于 MongoDB的集群模式 – Replica Set
yum install cyrus-sasl cyrus-sasl-gssapi cyrus-sasl-plain krb5-libs libcurl libpcap lm_sensors-libs net-snmp net-snmp-agent-libs openldap openssl rpm-libs tcp_wrappers-libs
星哥玩云
2022/08/18
9220
关于 MongoDB的集群模式 – Replica Set
MongoDB高频命令集合
Power
2025/03/02
920
MongoDB副本集初始化实例方式以及注意事项
最近线上一套集群出现一个服务器故障导致闪存卡异常,经过抢救后无效,只能更换新闪存卡,导致这个节点上数据丢失,只能进行初始化来恢复.执行初始化动作很简单,启动空实例即可.全量复制很顺利,但通过oplog将从库恢复到一致性时,发现速度非常慢.由此案例了解逻辑复制大概过程、存在问题以及其他初始化方式.
徐靖
2022/12/19
1.6K0
MongoDB副本集初始化实例方式以及注意事项
Mongodb只读副本集如何切换到读写模式(下)
接上一篇文章《Mongodb只读副本集如何切换到读写模式》,大概思想就是如何强制把副本集中仅存secondary节点提升为主,主要是通过standalone方式重启实例来实现,经过与大家交流与沟通,虽然此方式可以实现,但是以前老节点必须重新初始化,尤其当单节点数据很大时,此方式是缺点明显.最有效方式是通过rs.reconfig()方式来实现.此方式也分为2种:
徐靖
2020/08/13
1.5K0
5步搞定CentOS6.7上MongoDB副本集搭建
如果只有一个节点或者使用Master-Slave模式,存在主机挂掉后“单点失效”的问题。通过使用Mongo DB副本集,可以提高容错性和可用性。
孟君
2019/08/26
6490
5步搞定CentOS6.7上MongoDB副本集搭建
MongoDB之副本集
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
小忽悠
2018/08/27
6450
【ManggoDB】安装配置(伪分布式集群搭建)Replia Set
介于 关系型数据库 非关系型数据库之间 菜鸟教程 https://www.runoob.com/mongodb https://www.mongodb.org.cn/
瑞新
2020/12/07
1.1K0
【ManggoDB】安装配置(伪分布式集群搭建)Replia Set
相关推荐
mongodb副本集主从切换
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验