一、缘由:

  看着数据库大家庭都有主从模式,想着Mongodb应该也不会落下。但从官网看来,先是早先舍弃了Master-Master模式,现在又在不推荐

Master-Slave模式,这是要标新立异呀。不过,也许大家都会觉得Replica Set的Primary故障自动转移、分片,用起来更爽一点,所以抛弃就

抛弃吧,但是目前还是要了解的。

  Mongodb Master-Slave模式,可支持读写分离;也可读写都在Master,Slave做备份。一旦Master挂掉,就要手动干预将从切换为主。

  实践版本:3.2。

二、解决办法:

1、安装Mongdb并配置好两个实例:

我这里将Mongodb二进制文件放在/usr/local/mongodb-3.2.9目录,且在这个目录下增加两个配置文件mongod_27017.conf、mongod_27018.conf;

具体用二进制包部署过程看这里:http://www.cnblogs.com/langdashu/p/6022225.html

2、主从实例启动:

主:sudo su -l mongod -c "numactl --interleave=all mongod -f /usr/local/mongodb-3.2.9/mongod_27017.conf --master --oplogSize 20480 &"

从:sudo su -l mongod -c "numactl --interleave=all mongod -f /usr/local/mongodb-3.2.9/mongod_27018.conf --slave --source 127.0.0.1:27017 --autoresync &"

具体参数解释:

sudo su -l mongod -c cmd

numactl --interleave=all

--oplogSize 20480

--source 127.0.0.1:27017

--autoresync

主库:会保存操作日志到local.oplog.$main collection中。

从库:会将主库的数据源 存到local.source collection中。

3、确认主从状态:

Master:rs.printReplicationInfo()

Slave:rs.printSlaveReplicationInfo()

db.serverStatus( { repl: 1 } )

4、开启安全认证:(待补充完全)

Master && Slave 的配置文件都要加上:

security:

keyFile = /usr/local/mongodb-3.2.9/keyfile

然后更改权限:

sudo chown mongod.mongod keyfile

sudo chmond 400 keyfile

之后按照主从CMD重启mongodb。

keyfile文件的字符串可以这样生成:openssl rand -base64 741

[MongDB] 主从架构--官方极力不推荐的更多相关文章

  1. MySQL主从架构配置

    MySQL主从架构配置有两台MySQL数据库服务器master和slave,master为主服务器,slave为从服务器,初始状态时,master和slave中的数据信息相同,当master中的数据发 ...

  2. redis主从架构的搭建

    本项目采用主从架构,一主两从一个哨兵.在x.x.x.69上部署主节点,在70上部署从节点1和哨兵节点,在71上部署从节点2. 准备: 1.首先上传redis文件到三台linux上,目录/home/sy ...

  3. Python学习笔记整理总结【Memcache & Redis(基础+主从架构)】

    一.Memcached1.简介Memcached 是一个高性能的分布式内存对象缓存系统,一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度.提高可扩展性.用来存储 ...

  4. Broker的主从架构是怎么实现的?

    前言 上一篇文章我们一起聊了聊RocketMQ的NameServer的一些内部工作流程,了解了NameServer的部署和与Broker之间的联系,那么今天我们就来一起聊聊Broker的一些内部原理. ...

  5. Redis 高可用篇:你管这叫主从架构数据同步原理?

    在<Redis 核心篇:唯快不破的秘密>中,「码哥」揭秘了 Redis 五大数据类型底层的数据结构.IO 模型.线程模型.渐进式 rehash 掌握了 Redis 快的本质原因. 接着,在 ...

  6. MySQL 主从架构配置详解

    无论是哪一种数据库,数据的安全都是至关重要的,因此熟练掌握数据库的安全备份功能,是作为开发人员,特别是后端开发人员的一项必备技能.MySQL 数据库内建的复制功能,可以帮助我们对数据进行异地备份,读写 ...

  7. 【高并发架构】Redis缓存高并发之-主从架构

    Redis主从架构 到目前为止,Redis Cluster 能实现很好的性能,但如果只是缓存几个G的数据,那么单机Redis就足够了,但缓存主要用来读的,单机的QPS有一定的极限,一两万QPS一台应该 ...

  8. 关于mysql主从架构master宕机后,请求转移问题解决办法

    mysql架构:一主一从 问题一:有两台mysql数据库,已做好主从.如果运行某一天master服务器mysql故障导致前端请求无法处理怎么办? 答:将前端需要数据库处理的请求转移到slave机上. ...

  9. redis主从架构,分片集群详解

    写在前面:这篇笔记有点长,如果你认真看完,收获会不少,如果你只是忘记了相关命令,请翻到末尾. redis的简单介绍: 一个提供多种数据类类型储存,整个系统都在内存中运行的, 定期通过异步的方式把数据刷 ...

随机推荐

  1. Asp.net Web.Config - 配置元素 caching

    Asp.net Web.Config - 配置元素 caching 记得之前在写缓存DEMO的时候,好像配置过这个元素,好像这个元素还有点常用. 一.caching元素列表   元素 说明 cache ...

  2. ubuntu eclipse 中安装 python + PyDev

    参照网络和个人总结 系统配置:ubuntu12.04       jdk:1.6      eclipse:3.4 首先你的系统必须安装好pyton .也ubuntu系统自带的 刚开始以为是jdk安装 ...

  3. Android通过webservice连接SQLServer 详细教程(数据库+服务器+客户端)

    http://blog.csdn.net/zhyl8157121/article/details/8169172 目录(?)[-] 项目说明 开发环境的部署 数据库设计 服务器端程序设计Webserv ...

  4. (转)浅析JS运行机制

    原文 从一个简单的问题谈起: 1 <script type="text/javascript"> 2 alert(i); // ? 3 var i = 1; 4 < ...

  5. [GodLove]Wine93 Tarining Round #7

    比赛链接: http://vjudge.net/contest/view.action?cid=47643#overview 比赛来源: 2012 ACM/ICPC Asia Regional Han ...

  6. 一个文件夹可以link 到另外一个文件夹

    Creates a symbolic link. MKLINK [[/D] | [/H] | [/J]] Link Target /D      Creates a directory symboli ...

  7. 解决python字典结构内存暴涨问题

    背景:当读取一个key value数据的时候,python的字典结构会造成内存使用扩10倍左右,无可容忍.此文解决这个问题 数据:word2vec训练的结果,word对应400维的词向量.词表共1.6 ...

  8. 事件委托能够优化js性能

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. keras 入门之 regression

    本实验分三步: 1. 建立数据集 2. 建立网络并训练 3. 可视化 import numpy as np from keras.models import Sequential from keras ...

  10. js中排序问题总结

    js的排序中通常使用到sort函数,可以用冒泡排序,插入排序,快速排序,希尔排序,系统方法等方法,本文结束后分享一个用着排序算法的链接,感兴趣可以了解了解. 1.常见的对一般数组进行排序,代码如下: ...