MongoDB Master Slave role switchover

测试环境:
MASTER(A):
172.16.3.176
/opt/mongodb/bin/mongod --master --config /opt/mongodb/conf/mongodb1.conf --oplogSize=256
config:
[root@db5 data1]# cat /opt/mongodb/conf/mongodb1.conf 
port=5281
fork=true
logpath=/var/log/mongodb1.log
logappend=true
dbpath=/home/mongodb/data1
directoryperdb=true
auth=true
maxConns=1000
nohttpinterface=true
nssize=128

SLAVE(B):
172.16.3.33
/opt/mongodb/bin/mongod --slave --source 172.16.3.176:5281 --config /opt/mongodb/conf/mongodb1.conf
config:
[root@db-172-16-3-33 conf]# cat /opt/mongodb/conf/mongodb1.conf 
port=5281
fork=true
logpath=/var/log/mongodb1.log
logappend=true
dbpath=/opt/mongodb/data1
directoryperdb=true
auth=true
maxConns=1000
nohttpinterface=true
nssize=128

1. Failing over to a Slave (Promotion) 这种情况一般发生在A机器不能访问或已经损坏的情况。不可逆
操作步骤:
1.1 关闭A
1.2 关闭B
1.3 删除B上的local库数据文件
1.4 启动B 带上--master参数

2. Inverting Master and Slave 这种情况一般发生在需要对A机器进行维护,需要把B作为MASTER使用。可以逆转
操作步骤:
2.1 禁止A机库写操作 ( 通过 lock HALT 住些操作 , db.runCommand({fsync:1,lock:1}) )
2.2 确保B机库与A机库完全同步
2.3 关闭B机库
2.4 删除B机库local数据库数据文件
2.5 启动B机器库 带上 --master参数
2.6 B机库上进入local,新建repl用户,密码保持和原来的一样 (假设开启了auth).
2.7 关闭B机库
2.8 关闭A机库,(确保不关闭写LOCK的情况下关库,保证)删除B机库LOCAL数据库文件,拷贝B机库的local数据目录到A机库.
2.9 启动B机器库 带上 --master参数
2.10 启动A机库 带上slave source 再加上   --fastsync 参数.

时间: 2024-09-22 02:32:05

MongoDB Master Slave role switchover的相关文章

教你如何在Windows下搭建MySQL Master Slave

一.背景 服务器上放了很多MySQL数据库,为了安全,现在需要做Master/Slave方案,因为操作系统是Window的,所以没有办法使用keepalived这个HA工具,但是我们可以接受人工进行切换,有什么好的方案呢? 二.几种Master/Slave逻辑架构图 (Figure1:单Master-单Slave) (Figure2:单Master-多Slave) (Figure3:单Master-级联Slave) (Figure4:Master/Slave部署逻辑图)

PGPool-II master/slave mode using caveat

PGPool-II的master/slave模式类似load balance模式.只不过master/slave是与PGPool-II以外的第三方复制软件结合使用的.(如当前支持的slony和stream replication) PGPool会将需要复制的SQL发到Master数据库,不需要复制的SQL符合条件的情况下将可能被分发到Slave数据库以达到负载均衡的效果. 以下是Master/Slave mode使用注意事项: 1. 临时表的DDL,DML操作必须在Master库完成(PGPoo

redis 学习笔记(3)-master/slave(主/从模式)

类似mysql的master-slave模式一样,redis的master-slave可以提升系统的可用性,master节点写入cache后,会自动同步到slave上. 环境: master node: 10.6.144.155:7030 slave node: 10.6.144.156:7031   一.配置 仅需要在slave node上修改配置: 找到slaveof这行,参考下面的修改(填上master node的Ip和端口就完事了) slaveof 10.6.144.155 7030 另

mysql(master/slave)主从复制原理及配置图文详解_Mysql

1 复制概述       Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.

34.5. Master / Slave

34.5.1. master /etc/named.conf # cat /etc/named.conf zone "example.com" { type master; file "/var/named/example.com.zone"; allow-transfer { 172.16.1.23; 120.100.100.23; }; }; notify 指令会自动通知所有这个域的所有在ns记录上的机器,also-notify指令可以用来通知所有不在ns记录上

MYSQL的master/slave数据同步配置的例子

我的测试环境.基本上数据是瞬间同步,希望对大家有帮助 redhat 9.0 mysql3.23.57 mysql数据同步备份 A服务器: 192.168.1.2 主服务器master B服务器: 192.168.1.3 副服务器slave A服务器设置 #mysql –u root –p mysql>GRANT FILE ON *.* TO backup@192.168.1.3 IDENTIFIED BY '1234'; mysql>\exit 上面是Master开放一个账号backup密码1

pgpool find primary node in master/slave stream replication mode

今天一位群里的兄弟遇到的pgpool的问题, pgpool的后端是两个数据库, 分别是master和standby. (用stream replication搭建好的两个数据库). pgpool 和主库放在同一个服务器上. pgpool 的几个关键配置摘录一下 : listen_addresses = '*' port = 9999 socket_dir = '/tmp' pcp_timeout = 1000 pcp_port = 9898 pcp_socket_dir = '/tmp' bac

基于MySQL Master Slave同步配置的操作详解_Mysql

环境:PC:ubuntu 10.10  192.168.1.112(master) 192.168.10.245(slave) MySQL : 5.1.49-1ubuntu8.1-log在master中已经存在数据库test 首先修改mysql配置文件:/etc/mysql/my.cnf[master]#author:zhxia 复制代码 代码如下:  #master 同步设置 server-id               = 1 log_bin                 = /var/

MySql 5.7.18 数据库主从(Master/Slave)同步安装与配置详解

MySql复制的优点: 1.如果主服务器出现问题,可以快速切换到从服务器提供的服务 2.可以在从服务器上执行查询操作,降低主服务器的访问压力 3.可以在从服务器上执行备份,以避免备份期间影响主服务器的服务 注意:一般只有更新不频繁的数据或者对实时性要求不高的数据可以通过从服务器查询,实时性要求高的数据仍然需要从主服务器获得. 1.测试环境 操作系统 :Windows 7 32位操作系统(安装双数据库端口分别为3306.3308) 数据库版本:MySQL 5.7.18 主机A:192.168.1.