MongoDB配置副本集

前提

3台节点都安装好mongo
集群:
1台primary
1台secondary
1台ARBITER(做监控的,实际没有数据)

配置步骤

生成keyFile,主节点操作

openssl rand -base64 745  > /data/mongo/keyfile
chmod 400 /data/mongo/keyfile  
chown -R mongod:mongod /data/mongo/keyfile 

把这个keyfile同步到其他两个节点的 ~/mongodb/keyfile/ 文件夹中

scp  /data/mongo/keyfile root@20.0.0.3:/data/mongo/
scp  /data/mongo/keyfile root@20.0.0.4:/data/mongo/

增加三个节点mongod.conf文件中security部分:

security:
    keyFile: "/data/mongo/keyfile"
    authorization: enabled

增加三个节点mongod.conf文件中副本集群名称:

replication:
    oplogSizeMB: 500
    replSetName: myrs

依次启动主节点, 从节点和仲裁节点的mongod后台进程:

#设置mongod密码设置密码
> use admin
switched to db admin
> db.createUser({user:"admin",pwd:"123456",roles:["root"]})
Successfully added user: { "user" : "admin", "roles" : [ "root" ] }

初始化步骤:
配置副本集_id要与mongodb.conf文件中的replSetName一致,就是集群名称;priority 参数的值决定了选举中该节点的优先级。priority值越高,优先级越高。

cfg={ _id:"node",members:[{_id:0,host:'20.0.0.5:27017',priority:2},{_id:1,host:'20.0.0.3:27017',priority:1},{_id:2,host:'20.0.0.4:27017',arbiterOnly:true}] };        

根据变量配置集群;返回ok表明初始化正确。

rs.initiate(cfg)  // 初始化副本集,配置成功:"ok" : 1
{ "ok" : 1 }

查看集群状态

rs.status()  // 查看副本集状态,确认主节点 

配置副本集Connection String URI

副本集实例Connection String URI连接示例,nacos配置修改对应的应用

spring.data.mongodb.uri=mongodb://password@xxxxxx:27017,xxxxxx:27017/xxxx_db?replicaSet=e2mongo

replicaSet=e2mongo
其中 "e2mongo"是集群名称;购买云上服务请使用云提供的Connection String

请添加图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值