mongodb副本集配置(带认证)

mongodb的副本集可以很方便的做到数据实时同步到所有主机。比mysql使用更加方便。

副本集至少需要2台主机,一台为主(primary),一台为从(slave),如果多台主机,则一台为主,其他都是从。当主服务器发生故障时,从服务器会探测到并共同选举出一个新的主服务器,从而保证服务不间断,当然为了程序也要相应配合,如mongodb配置多个服务器。

注意:2台服务器时,如果主服务器故障,剩下从服务器也无法提升为主服务器,而是不再提供写入服务。如果从服务器故障,主服务器自动变为从服务器,也无法提供写入服务。所以2台主机时只是为了数据冗余而设置的。

设置方法:

1、2台服务器配置文件完全相同:

vim mongod.conf

systemLog:
  destination: file
  logAppend: true
  path: /web/mongodb/mongod.log

storage:
  dbPath: /web/mongodb/data
  journal:
    enabled: true


net:
  port: 27017
  bindIp: 0.0.0.0
 
security:
  keyFile: "/web/mongodb/mongodb.key"
  clusterAuthMode: "keyFile"
  authorization: enabled
processManagement:
  fork: true
replication:
  oplogSizeMB: 2048
  replSetName: rs

注意:使用认证登录需要进行用户权限设置,见:https://canlynet.iteye.com/blog/2436380

2、这里使用了认证登录,所以,还需要创建认证文件mongodb.key:

openssl rand -base64 666 > /web/mongodb/mongodb.key

将这个key文件复制到所有从主机上。

3、添加节点:

rs.initiate({_id: 'rs', members: [
 {_id: 0, host: '192.168.1.8:27017'},
 {_id: 1, host: '192.168.1.9:27017'}
]});

如果还需要添加: rs.add('192.168.1.10:27017'), _id会自动增加1.

4、查看状态: rs.status()

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值