MongoDB学习日记(1):Windows搭建复制集(Replica Set)

一.Windows搭建复制集

1. 创建数据库文件夹

在D盘建立三个文件夹,分别为db1,db2,db3。

2.创建MongoDB启动配置文件

在D盘建立三个文件,分别为 rs1 ,rs2,rs3。

rs1里面写入(本人27017已经被占用了):

dbpath=D:\db1

port=26017

replSet=rs

 

rs2里面写入:

dbpath=D:\db2

port=28017

replSet=rs

 

rs3里面写入:

dbpath=D:\db3

port=29017

replSet=rs

(说一句题外话,fork在windows下面是没有用的)

3.运行独立节点

先找到mongod.exe的位置,本人电脑上的位置是 C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe。

win+R打开三个控制台。分别运行(注意引号):

C:\"Program Files“\MongoDB\Server\3.4\bin\mongod.exe --config D:\rs1   (备注:控制台1)

C:\"Program Files“\MongoDB\Server\3.4\bin\mongod.exe --config D:\rs2  (备注:控制台2)

C:\"Program Files“\MongoDB\Server\3.4\bin\mongod.exe --config D:\rs3    (备注:控制台3)

4.运行mongo shell

在mongod.exe同目录下找到mongo.exe,在本人这里就是  C:\Program Files\MongoDB\Server\3.4\bin\mongo.exe

随意选择一个端口号,本人这里选择26017.输入命令:

C:\"Program Files“\MongoDB\Server\3.4\bin\mongo.exe localhost:26017。(备注:控制台4)这时候应该能链接上了哈。

在命令行输入rs.status(),应该能看到类似的画面:

可以看到,这里提醒我们需要先运行 rs.initiate()方法。这个方法是有入参的,但是这里为了演示方便,直接就用默认配置了。

输入 rs.initiate()。运行完这个命令之后,实际上一个复制集已经起来了,但是他只有一个节点,就是自己。

5.添加节点

我们使用 rs.add命令来添加节点。这里同样是为了简单起见,我们使用最少的配置,想看rs.add的完整配置,详见官方文档。

 

 调用rs.initiate()方法的视乎,可以看到一个 ”me“:"DESKTOP-H19S5KF:26017"。这个有用,因为我们是在本机启动三个节点,因此host是一样的,host就是前面的

DESKTOP-H19S5KF,不是localhost,也不是127.0.0.1哈。大伙可以尝试一下,使用localhost或者127.0.0.1是会有报错的。

我们添加另外两个节点:

rs.add("DESKTOP-H19S5KF:28017")

rs.add("DESKTOP-H19S5KF:29017")

完事,我们已经成功添加了三个节点,可以使用rs.status()查看一下,一个有三个节点的复制集已经成功启动了。

6. 一些额外的东西

大家有没有发现,运行一个复制集,要开四个窗口,太麻烦!下面针对装有git bash的windows用户,贴上一段代码,可以在git bash上面一个窗口,直接启动你的复制集(没有初始化复制集的还要重新初始化哈,就是上面的 4 5 两个步骤)。

#!/bin/bash
cd C:/"Program Files"/MongoDB/Server/3.4/bin
./mongod.exe --config D:/rs1 &
./mongod.exe --config D:/rs2 &
./mongod.exe --config D:/rs3 &

 

保存到任意文件,命名为 xxx.sh。可以在git bash 里面运行这个脚本,本人电脑上(win10)可以直接点击文件运行。 

 

posted @ 2017-10-16 22:18  zY-  阅读(701)  评论(0编辑  收藏  举报