MongoDB复制集搭建(Windows)

集群环境准备

  首先确保Windows下安装了Mongodb,具体下载地址载网址是:https://www.mongodb.com/download-center#community。 直接下载msi安装版:mongodb-win32-x86_64-2008plus-ssl-3.4.3-signed.msi。下载后进行安装(可以自定义安装目录)。

复制集搭建

  1. 在某盘创建存放Mongodb复制集的文件夹,并将之前Mondb(单机)的安装文件复制3份到该复制集文件夹下,并分别命名为Mongodb1、Mongodb2、Mongodb3。

  1. 在复制集文件夹下创建data文件夹,主要用于存放复制集的相关数据。进入data文件夹下,分别创建data、key、log文件夹。Data存放数据,key存放相同的密钥,log存储节点日志。
  2. 进入data文件夹下,分别创建3个文件夹,用于存放各个节点的数据,这里起名分别为r1、r2、r3,分别存放节点数据。
  3. 进入存放复制集的秘钥文件夹,创建一个txt文件,在文件中写入一些数据,然后复制2份,一定要保证各个节点的秘钥文件内容一致,否则复制集创建失败。
  4. 复制集的中的秘钥文件内容可以由用户自己设置,只要保持三个节点的内容是一致即可。
  5. 在日志文件夹下分别创建3个日志文件,用于存放各个节点的日志信息。
  6. 在mongodb1/bin 目录下,按shift+右键,选择在此处打开命令提示行,执行初始化mongodb操作,同样在mongodb2/bin, mongodb3/bin执行相应的操作。
  7. 构建复制集,执行命令:mongod.exe --replSet  (复制集名称)  --port (端口号) --dbpath (数据存储位置) --logpath=(日志具体文件,包含后缀名) –logappend,需要说明的是:三个节点的复制集名称必须保持一致,由于我们是在同一台机器上开启三个节点,故每个节点的端口号不能重复。-–logappend表示日志信息是追加的模式。实现如下:
  1. 节点1:mongod.exe --replSet mongodbcluster --port 28010 --keyFile d:\mongodbcluster\data\key\key1.txt --dbpath d:\mongodbcluster\data\data\r1 --logpath=d:\mongodbcluster\data\log\log1.log --logappend
  2. 节点2:mongod.exe --replSet mongodbcluster --port 28011 --keyFile d:\mongodbcluster\data\key\key2.txt  --dbpath d:\mongodbcluster\data\data\r2 --logpath=d:\mongodbcluster\data\log\log2.log --logappend
  3. 节点3:mongod.exe --replSet mongodbcluster --port 28012 --keyFile d:\mongodbcluster\data\key\key3.txt  --dbpath d:\mongodbcluster\data\data\r3 --logpath=d:\mongodbcluster\data\log\log3.log --logappend

执行命令后,会进入等待状态:查看日志文件后,会有等待连接相应的端口的提示:

  1.  在任意一个节点的bin目录下开启一个命令提示行,然后用mongo连接。连接命令:mongo.exe –port (主节点端口号)

  1. 进一步配置节点信息,并初始化Replica Sets环境,执行下面的js代码

var conf = {

  _id : "mongodbcluster",

  members : [

        { _id : 2, host : "localhost:28011"},

{ _id : 1, host : "localhost:28010"},

        { _id : 3, host : "localhost:28012"}

  ]

}

rs.initiate(conf);

//强制重新初始化操作:  rs.reconfig(conf,{ "force":true});

  1. priority:用于配置优先级的,当priority=0时,说明这个实例永远不可能被设置成primary,只能作为一个slave存在。当所有节点都不设置优先级时,则由系统选举出primary。复制集启动后,可以在日志文件中查看。

  1. 可以运行 rs.status()来查看复制集的状态。说明如下:

  1. _id 表名节点id,health:实例正常与否的标记,1代表正常,0代表异常
  2. state:该节点在复制集中充当的角色,1代表primary,0代表slave
  3. 除了用rs.status()查看复制集中各成员节点的状态之外,还可以用rs.isMaster命令查看Replica Sets状态,至此,mongodb的复制集安装完毕。如下图所示:

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值