Mongodb集群——副本集

1.环境准备:副本集的集群模式,至少要求3台服务器

 

        由图可以看到客户端连接到整个副本集,不关心具体哪一台机器是否挂掉。主服务器负责整个副本集的读写,副本集定期同步数据备份,一但主节点挂掉,副本节点通过心跳机制检测到后,就会在集群内发起主节点的选举机制,自动选举一位新的主服务器。

2.下载mongodb,分别在3个服务器上安装

3.在mongodb安装目录下(如D:/mongodb),新建空文件data,新建log/mongodb.log文件,新建conf/config.properties文件。

4.编写conf/config.properties文件,配置信息如下:
dbpath=D:\mongodb\data

logpath=D:\mongodb\log\mongodb.log

port=27017   #mongodb端口

logappend=

journal=

jsonp=

serviceName=MongoDB Server   #mongodb服务名

serviceDisplayName=MongoDB Server replSet   #mongodb显示名称

auth=false #auth:是否需要验证;如果需要验证要改为true

storageEngine=wiredTiger

wiredTigerCacheSizeGB=2

#副本集名称

replSet=zdvictory

5.安装并启动服务命令

#安装服务

D:\mongodb\bin>mongod.exe -config D:\mongodb\conf\config.properties --install

#启动服务(可打开服务直接手动启动)

D:\mongodb\bin>mongod.exe --dbpath D:\mongodb\data

6.在每台机中,启动MongoDB服务,任意选择一台机器登录MongoDB(注意三台mongodb必须都没有使用过,即没有数据,否则将无法进行集群)

打开cmd命令窗口

D:\mongodb\bin>mongo --port 27017

> use admin

switched to db admin

> config = {

     "_id":"zdvictory",

     "members":[

         {"_id":0,"host":"192.168.5.161:27017"},

         {"_id":1,"host":"192.168.15.250:27017"},

         {"_id":2,"host":"192.168.88.9:27017"}

     ]

 }

> rs.initiate(config)
{ "ok" : 1 }

7.mongodb集群常用命令

D:\mongodb\bin>mongo --port 27017

#查看状态
zdvictory:PRIMARY>rs.status()

# 在线删除
zdvictory:PRIMARY> rs.remove("192.168.15.250:27017")

#在线添加节点
zdvictory:PRIMARY> rs.add("192.168.15.250:27017")

#查看配置
zdvictory:PRIMARY> rs.conf()

8.最后注意:mongodb集群只有2/3台时,才能自动切换主节点(能正常使用),只有一台时无法自动切换为主节点(不能正常使用)

猜你喜欢

转载自my.oschina.net/u/3802739/blog/1647337