mongodb 主从

因为条件限制我们把主从放在一台服务器上面

相关参数

在启动从的时候可以增加以下参数

--autoresync 当发现从服务器的数据不是最新时,开始从主服务器请求同步数据

--slavedelay 同步延迟,单位:秒

--only 复制指定的数据库,默认复制所有的库

-oplogSize 主节点的oplog日志大小,单位为M,建议设大点(更改oplog大小时,只需停主库,删除local.,然后加--oplogSize= 重新启动即可,*代表大小)

配置

为了方便管理我们使用加载配置文件的启动方式,以下是配置文件。

dbpath=/home/xiaohe/mongodb-27017/db
logpath=/home/xiaohe/mongodb-27017/logs/mongodb.log
port=27017
nohttpinterface=true
master=true
oplogSize=4096
#auth=true

dbpath=/home/xiaohe/mongodb-27018/db
logpath=/home/xiaohe/mongodb-27018/logs/mongodb.log
port=27018
nohttpinterface=true
slave=true
source=127.0.0.1:27017
#auth=true

启动

/home/xiaohe/mongodb-27017/bin/mongod --config /home/xiaohe/mongodb-27017/conf/mongodb.conf
/home/xiaohe/mongodb-27018/bin/mongod --config /home/xiaohe/mongodb-27018/conf/mongodb.conf

测试同步

登录主

/home/xiaohe/mongodb-27017/bin/mongo 127.0.0.1:27017

use xiaohe

db.xiaohe.insert({"name":"zxc"})

show dbs 你会看到新创建的库 xiaohe

登录从

/home/xiaohe/mongodb-27018/bin/mongo 127.0.0.1:27018

show dbs 查看 是否可以看到新创建的库 xiaohe

接着查看数据

db.xiaohe.find()

如果可以看到刚才插入的数据,说明同步正常

问题查看

查看同步

db.printReplicationInfo()

附录一、Slave 顶替 Master

如果主服务器 10.0.0.11 宕机了,

此时需要用 10.0.0.12 机器来顶替 master 服务,

步骤如下:

停止 10.0.0.12 进程(mongod)

kill -2 ps -ef|grep mongod|grep -v grep|awk '{print $2}'

删除 10.0.0.12 数据目录中的 local.*

rm -rf /elain/data/mongodb/db/local.*

以--master 模式启动 10.0.0.12

/elain/apps/mongodb/bin/mongod --fork --master --oplogSize=4096 --port 27001 --dbpath /elain/data/mongodb/db --logpath /elain/logs/mongodb/mongodb.log

附录二、切换 Master/Slave 角色

切换主库10.0.0.11和从库10.0.0.12的角色

步骤如下:(命令略)

用 fsync 命令暂停 主库 上的写操作,

关闭 从库 上的服务

清空 从库 上的 local.文件

用-master 选项重启 从库 服务

在 从库 上执行一次写操作,初始化 oplog,获得一个同步起始点

关闭 从库 服务,此时 从库 已经有了新的 local.
文件

关闭 主库 服务,并且用 从库 上新的 local.文件来代替 主库 上的 local.文件(建议先压缩再COPY)

用-master 选项重启 从库 服务

在启动slave的选项上加一个-fastsync 选项来重启 主库 服务

mongodb 主从的更多相关文章

  1. mongodb系列之--mongodb 主从配置与说明

    一.为什么要配置mongodb的主从: 1.做主从,可以说是做数据的备份,有利于故障的恢复 2.做主从,可以做到读写分离,主节点负责写操作,从节点负责读操作,这样就把读写压力分开,保证系统的稳定性. ...

  2. MongoDB自学------(4)MongoDB主从搭建

    MongoDB复制原理 mongodb的复制至少需要两个节点.其中一个是主节点,负责处理客户端请求,其余的都是从节点,负责复制主节点上的数据. mongodb各个节点常见的搭配方式为:一主一从.一主多 ...

  3. MongoDB主从配置

    master的配置 # cat mongod.conf dbpath = /app/sinova/mongodata/db            #指定数据库目录 logpath = /app/sin ...

  4. MongoDB 主从和Replica Set

    目前主要的MongoDB高可用架构包含: 主从架构 Replica set副本集方式 sharding分片 注意:使用高可用架构后ips,qps相比单实例都会有一定程度的下降,其中rs下降不是他太明显 ...

  5. mongodb主从(副本集附仲裁节点)部署带认证模式

    环境:OS:CentOS 7DB:3.0.15机器角色:192.168.1.134:10001 主192.168.1.135:10002 从192.168.1.135:10003 仲裁节点 1.下载相 ...

  6. mongodb主从以及auth主从 配置详解

    1.主服务器配置   #auth = true   dbpath = /data/mongodb/db logpath = /data/mongodb/log/mongodb.log   port = ...

  7. mongodb主从备份 和 手动主从切换

    环境: 主机A:172.16.160.91 主机B:172.16.160.92 配置主机A [root@master zhxf]# cat docker-compose.yml version: '3 ...

  8. mongodb主从搭建

    #tigergao 官网进行下包,可以下载源码包或者二进制包,本次下载的为二进制包,进行试验. 主服务器搭建: mkdir mongomaster cp mongodb-linux-x86_64-rh ...

  9. mongoDB主从和集群

    主从(windows下的配置) 主服务器设置 mongod --dbpath=F:\mongoDB\db --master \\dbpath是设定数据存放路径 --master是指定为主库 从服务器设 ...

随机推荐

  1. 如何编译dotnet core

    1.git clone源码 2.init-tools.cmd 3. Error: DIA SDK is missing at "C:\Program Files (x86)\Microsof ...

  2. zzulioj--1708--01串也疯狂之光棍也有伴(dp)

    1708: 01串也疯狂之光棍也有伴 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 199  Solved: 50 SubmitStatusWeb B ...

  3. javascript系列-class4.函数

    欢迎加入前端交流群来py: 转载请标明出处!                   在火影的世界中存在忍术,忍术是把强大的能量集中在一起以各种各样不同的形式发射出来.怎样使用各种各样的忍术那?通过结印. ...

  4. JAXB xml与javaBean的转换

    转自:https://blog.csdn.net/lydong_/article/details/79812626 `1. 1.不认识到犯错,然后得到永久的教训. 也不是所谓的教训吧,真正的教训来自于 ...

  5. SQL SERVER 将一个数据库中的表和数据复制到另一个数据库中

    第一种情况:将A数据库.dbo.A表的数据追加到B数据库.dbo.B表中 (条件:此时B数据库中已创建好了B表) insert into B数据库.dbo.B表 select * from A数据库. ...

  6. sql server 查询某数据库中包含某字段的所有表格

    场景:查询DNMes数据库中所有包含RFID字段的表名 sql语句: select object_name(id) objName,Name as colName from syscolumns wh ...

  7. 12:Challenge 5(线段树区间直接修改)

    总时间限制:  10000ms 单个测试点时间限制:  1000ms 内存限制:  262144kB 描述 给一个长为N的数列,有M次操作,每次操作是以下两种之一: (1)将某连续一段同时改成一个数 ...

  8. Optional Chaining as an Alternative to Forced Unwrapping

    ?与!的区别 You specify optional chaining by placing a question mark (?) after the optional value on whic ...

  9. BZOJ 3790 神奇项链(回文自动机+线段树优化DP)

    我们预处理出来以i为结尾的最长回文后缀(回文自动机的构建过程中就可以求出)然后就是一个区间覆盖,因为我懒得写贪心,就写了线段树优化的DP. #include<iostream> #incl ...

  10. thttpd 在S3C6410的移植-web服务程序的应用

    1.    在VMWare 虚拟机上将arm-linux-gcc 4.3.1配置好:2.    下载thttpd软件包并解压:3.    在thttpd根目录下运行:  ./configure:4.  ...