mongodb集群搭建 (仲裁模式)

mongodb集群搭建 (仲裁模式),第1张

8.1 主节点执行

/yuanben/mongodb/mongodb/bin/mongo 192.168.0.11:27017

use admin

mgdb_rscfg={ _id:"yuanben-rs", members:[ {_id:0,host:'192.168.0.11:27017',priority:2}, {_id:1,host:'192.168.0.12:27017',priority:1},{_id:2,host:'192.168.0.13:27017',arbiterOnly:true}] }

rs.initiate(mgdb_rscfg)

通过rs.status()查看是否生效 生效后 mater slave的客户端命令显示皆有变化哦

8.2 设置从节点读权限

让slave节点支持读 *** 作,在slave节点上修改mongorc.js启动文件

vi ~/.mongorc.js

加入以下内容即可:

setSlaveOk()

function setSlaveOk() {

rs.slaveOk()

print('slaveOk has been setted!’)

}

需要重启这个节点

kill -2 12595

./start.sh

8.3 创建用户

use admin

db.createUser(

{

user: “root”,

pwd: “xxxxxx”,

roles: [ { role: "root", db: "admin" } ]

}

)

db.createUser(

{

user: “scms”,

pwd: “xxxxxx”,

roles: [ { role: "readWrite", db: "scms" },{ role: "dbOwner", db: "scms" } ]

}

)

mongoDB主从数据同步

主库数据小于从库,从库回滚到跟主库同步状态

从上可知,假如原来主从数据同步出了问题,主库数据量远大于从库数据量,而你并没有察觉,某次主、从、仲裁进程全部挂了

如果先起原来从库和仲裁,将原来从库选举为现在PRIMARY,然后再启原来的主库成为现在的从库,那么就会导致原来的主库也就是现在的从库数据发生回滚

显然这不是你想看到的的情况,所以务必先启动原来的主库,让其也成为现在的主库,避免此类问题的发生!

针对primary-secondary-arbiter架构,mongoDB的实例重启:

1.从arbiter日志中获取之前主节点IP

2.启动primary节点mongo进程

3.启动arbiter节点的mongo进程

4.启动secondary节点mongo进程

$ cat hosts

$ cat start_primary-secondary-arbiter.yml

$ ansible-playbook -i hosts start_primary-secondary-arbiter.yml

mongoDB副本集 stateStr状态说明

https://www.jianshu.com/p/7f196c22af43


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11382510.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存