一、缘由:

  看着数据库大家庭都有主从模式,想着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. 在VS的EF中连接MySQL

    VS没有主动提供那些繁多的连接器,需要的话得自己再安装这些第三方程序包. MySQL为windows平台开发者提供了许多程序包:http://dev.mysql.com/downloads/windo ...

  2. 关于Autorun.inf文件

    配置Autorun.inf文件可以使双击磁盘时,自动运行某一应用程序.但是现在只支持CD或者DVD媒体了(以前硬盘也可以) 关于Autorun.inf的组成部分可以参考https://msdn.mic ...

  3. LESS用法·

    CSS 彻底改变了 Web 页面的设计,但 CSS 仍然是静态的,而且在其句法发展方面受到限制.这些限制是有目的且合乎情理的,鼓励广泛加以实现.但开发人员和设计人员常常发现 CSS 使用起来很单调乏味 ...

  4. span标签设置margin-top没有效果

    <span>是行内元素,span只有margin-left和margin-right才有效果.要想margin-top生效就要把span转给块级元素才行.在span的css中加入以下属性即 ...

  5. Nginx下css的链接问题

    放在 Nginx 下的网页代码,在链接外部 css 文件时,可能出现没有链接成功的问题.需要在 nginx.conf 里的 http 下添加一行. http { include mime.types;

  6. 提升Nginx+PHP-FPM性能技巧

    /etc/php-fpm.d 2.1进程数   php-fpm初始/空闲/最大worker进程数      pm.max_children = 300      pm.start_servers = ...

  7. springmvc对同名参数处理-我们到底能走多远系列(44)

    springmvc对同名参数处理 扯淡: 中断发博客几个月,其实蛮不爽的,可能最近太忙太劳累了些,很多总结也没时间写,今天刚好遇到个小问题,就阅读下源码找找乐.因为考虑到网上大多是提供解决问题的方案, ...

  8. Java设计模式(十二) 策略模式

    原创文章,同步发自作者个人博客,http://www.jasongj.com/design_pattern/strategy/ 策略模式介绍 策略模式定义 策略模式(Strategy Pattern) ...

  9. phpstorm10.0.1 注册

    注册时选择License server,填http://idea.lanyus.com,然后点击OK,就注册了

  10. Date Range Picker时间插件非常不错,主要体现在选择一个时间区间

    地址:http://www.daterangepicker.com/ demo地址:http://tamble.github.io/jquery-ui-daterangepicker/#event a ...