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