mongo副本集

replication sets

1.启动3个实例,他们3个属于同一个复制集,声明属于哪一个复制集
./mongod --dbpath=/mongodb/data1 --logpath=/mongodb/log/d1.log --fork --port 27017 --replSet rsjty
./mongod --dbpath=/mongodb/data2 --logpath=/mongodb/log/d2.log --fork --port 27018 --replSet rsjty
./mongod --dbpath=/mongodb/data3 --logpath=/mongodb/log/d3.log --fork --port 27019 --replSet rsjty

2.配置
var rsconfig={

_id:"rsjty",
members:[
{_id:0,
host:"127.0.0.1:27017"},
{_id:1,
host:"127.0.0.1:27018"},
{_id:2,
host:"127.0.0.1:27019"}

]
}

3.根据配置做replication set的初始化
rs.initiate(rsconfig)
{
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp(1646197076, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
},
"operationTime" : Timestamp(1646197076, 1)

通过rs.stats()可以查看状态
配置好之后会27017为primary ,18、19为secondary状态

4.删除节点
rs.remove("127.0.0.1:27019")
rs.stats() 可以查看节点数量

5.添加节点;
rs.add("127.0.0.1:27019")
{
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp(1646197632, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
},
"operationTime" : Timestamp(1646197632, 1)
}

5.连接secondary查看数据,slave默认不允许读写,可以执行rs.slaveok()或者rs.secondaryok()
WARNING: slaveOk() is deprecated and may be removed in the next major release. Please use secondaryOk() instead

6.primary 角色shutdown ,执行db.shutdownServer()
rsjty:PRIMARY> db.shutdownServer()
server should be down...

27018 跟27019会自动选举上来一个作为住,

 

posted @   红丿领巾  阅读(105)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示