【MongoDB】 windows下建立双机主从
【双机配置】
服务端:
两台 Dell R730 双路E5 服务器
使用一个内网环境,网段20, ping 测试互通
主服ip: 192.168.20.176: 27017
从服ip: 192.168.20.178: 27015
客户端: ThinkPad T460P
【系统环境】
服务端: windows Server 2012 R2
客户端: Win10
MongoDB版本 3.2.10
【文件夹建立】
双机主从配置建议将双机的文件夹配置保持一致,但是对mongoDB的配置来讲这个可以不那么重视。
花了5分钟学习,发现其实就是给定一个时间从机向主机请求同步而已。同步的内部机制等空一点研究源码。
这里我的文件夹建立是 D:\Mongos\ 作为整个MongoDB的根目录,数据目录暂时也放在这下。
数据目录: .\DB\ 主服的数据放在这文件夹下 .\Master , 从服的数据对应为 .\Slave
日志在 .\Log\下
【脚本和运行效果】
mongoDB的配置脚本非常简单,这里给出命令即可
先来主服的, 务必使用 --master进行标记。
.\Mongod.exe --dbpath [your path] --master -- port
从服:
.\mongod.exe --slave --dbpath [your Path] --source 192.168.20.176 --port --slavedelay
其中 slavedelay指定从服每多少秒执行一次同步。
运行效果如图:
主服:

启动成功
需要说明一下,最下面一条信息是从服启动后建立了到主服的连接,所以有一个Connection accepted。
接下来是从服:

可以看到最下面一组红框的信息是每5s出现一次,代表在同步主服的信息。
【启动主备服务】
主服上运行 mongo.exe, 自动连接到 test, 这个和单机是一样的。

等了很久,没有看到mongo shell出现,说明启动没成功。
据说第一次启动很慢,不知道是有多慢

等了挺久,突然好了。
之前几个客户端都没法访问到,下次测试一下什么原因。
从服上同样启动mongo.exe,不过要指定一下从服的端口,即27015

这里是为了测试同步是否成功,所以访问本地的test。
【同步测试】
写数据的一方从客户端(ThinkPad上)操作,然后分别在两个服务器客户端上读一次看是否同步。
为了便于区分,在一次写操作后先读一次从服,5s后再读一次。
客户端的写操作对主服进行。
插入操作很简单,我们在test下操作即可 【该命令由客户端发送】

可以看到查询结果是正确的。
我们在从服上执行find()命令:

可以看到之前是报错了的。
实际上主从模式下,从服仅仅作为备份,是不允许直接访问和操作的。但是我们可以给从服配置一个读权限,即 rs.slaveOk()
之后就能查询了。 两条记录是因为我在主服下开的客户端也执行了一个查询。
到此可证明主从部署建立成功。
【待解决】
最后遇到一些问题:
按官方说法,我应该是能从客户端(另一台pc)通过指定ip和端口的形式访问从服的,因为从服自己也是这么访问的。
然而我的连接请求却被从服拒绝了,有点奇怪。
【MongoDB】 windows下建立双机主从的更多相关文章
- 从Windows转向Linux(在Windows下建立Deepin、Windows10双系统)
我是19年3月转向使用Linux进行开发,没啥特别的理由,就是觉得使用Linux系统是每个程序员必须经历的吧. 选择版本 一开始,在网上了解到现在流行的Linux发行版有基于Redhat的,还有基于d ...
- 在Mac OSX下使用ssh建立隧道(在Windows下建立隧道可以使用putty,其间会用到ppk文件)
在Windows下建立隧道可以使用putty,其间会用到ppk文件.在Mac OSX下,同样的功能可以用ssh命令实现.具体是: ssh -D 8088 -Nf user@ip -i myppk.ss ...
- [转帖]Windows下cwRsyncServer双机连续同步部署
Windows下cwRsyncServer双机连续同步部署 https://www.cnblogs.com/nulige/p/7607503.html 找时间做一下测试 应该能更好的实现 自动部署的功 ...
- centos下建立双机信任关系
在有些情况下,我们希望在两台centos机器之间建立ssh连接的时候,可以不用输入密码.最常见的情况就是在使用脚本做数据库备份的时候.这种情况下,我们可以通过公钥/私钥来建立双机之间的信任关系. 网上 ...
- MongoDB Windows 下安装部署
下面主要是我在Windows上(Win7)安装.运行.安装Windows服务的笔记,以作备忘. 1.下载 下载地址:http://www.mongodb.org/downloads 从其下载页面就可以 ...
- Windows下建立ArcGIS Server集群
原创文章,转载须标明出处自: http://www.cnblogs.com/gisspace/p/8269525.html -------------------------------------- ...
- windows下的Redis主从集群搭建
Redis官方不提供Windows版本,目前Windows下的版本是有微软开源团队(Microsoft Open Tech group)维护. http://redis.cn/ redis中文网 wi ...
- windows下建立文件的换行符^M导致linux下的shell脚本执行错误的解决方式
常常在windows下编辑的文件远程传送到linux下的时候每行末尾都会出现^M.这将导致shell脚本执行错误,主要是由于dos下的编辑器和linux下的编辑器对文件末行的回车符处理不一致导致. 主 ...
- mongodb windows下的安装
(1)上mongodb的官网下载windows版本的mongo的安装包,安装包是绿色版的解压出来就可以直接使用. (2)将解压出来的bin文件夹复制到c:\mongoDB下(c:\mongoDB这个文 ...
随机推荐
- 工作笔记20170315-------关于FAQ(Frequently Asked Questions)列表的代码
源自于:http://www.17sucai.com/pins/3288.html (1)FAQ问答列表点击展开收缩文字列表 <ul> <li class="clear ...
- ThinkPHP关联模型如何关联非主键
ThinkPHP关联模型默认是主键外键关联 官方并没有提供相关文档 如何实现非主键与非主键间之间的关联 <?php namespace Admin\Model; use Think\Model\ ...
- linux MySql 在 Master 主从复制配置
在 Master 服务器上建立用于 Slave 服务器复制数据的帐户 [root@master ~]# mysql mysql> grant replication slave,replicat ...
- 3Linux - 常用 Linux 命令的基本使用
常用 Linux 命令的基本使用 转自 目标 理解学习 Linux 终端命令的原因 常用 Linux 命令体验 01. 学习 Linux 终端命令的原因 Linux 刚面世时并没有图形界面,所有的操作 ...
- diff 比较两个文件的不同
1.命令功能 diff 逐行比较文件内容,并输出文件差异. 2.语法格式 diff option file1 file2 diff 选项 文件1 文件2 参数说明 参数 参数说明 ...
- PCA 主成分分析
链接1 链接2(原文地址) PCA的数学原理(转) PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表 ...
- JavaScript设计模式 样例一 —— 工厂模式
工厂模式(Factory Pattern): 定义:定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类.工厂方法让类的实例化推迟到子类中进行. 目的:工厂模式是为了解耦,把对象的创建和使用 ...
- 去掉windows換行符^M
在命令模式下运行命令 :%s/^M//g 回车注意:里面的^M 必须是同时按 Ctrl+V+M ,表示回车.不是直接输入 ^M,也不是粘帖复制.命令完成后,用:x 保存退出后,再次用vi打开就全部被替 ...
- 小程序内置组件swiper,circular(衔接)使用小技巧
swiper,关于滑块的一些效果无缝,断点,视差等等...我想这里就不用做太多的赘述,这里给大家分享一下实战项目中使用circular(衔接)的一点小特性.小技巧,当然你也可以理解为遇到了一个小坑,因 ...
- 关于反射和动态代理和AOP
package Exercise.reflect; /** * 反射把java中所有的东西都当做对象,甚至是类的本身也作为一种对象,并把它作为Class的对象的实例: * 反射是把类.类的属性.方法都 ...