Mongodb集群——副本集

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

 

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

 

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

 

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

 

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

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

port=27017   #mongodb端口cmd

logappend=同步

journal=it

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台时,才能自动切换主节点(能正常使用),只有一台时没法自动切换为主节点(不能正常使用)

相关文章
相关标签/搜索