mongodb 主从搭建

一、mondodb 副本集
      primary(主) secondary(从),可以设置权重
      arbiter(仲裁)只负责裁决,不存储数据
      
     从的机子上:
      vim /etc/mongod.conf 添加
     replication:
     #oplog大小
       oplogSizeMB: 20
     #复制集名称
       replSetName:  aminglinux
     
     重启 /etc/init.d/mongod restart

     到主的机子上:
     mongo
     > use admin
     > config={_id:"adminglinux",members:[{_id:0,host:"192.168.32.111:27017"},{_id:1,host:"192.168.32.112:27017"}]}
     _id 副本集名字,members:从的机子
     > rs.initiate(config)  加载 config
     > rs.status() 如果有将从机子加进去,就不用下面的命令
     > rs.add("192.168.32.112")
     > rs.config()  查看相关的配置

     如果配置成功之后,mongo 进入之后主会有 promary, 从会有 secondry
     > var config=....
     > rs.reconfig(config) 重新加载

二、副本集测试
     主上面:
     > use mydb
     > db.createCollection('testc')
     > show dbs
     
     从上面:
     > show dbs 失败,因为没有权限
     > rs.slaveOk()  赋予从权限
     > show dbs 可以查看
     > use mydb
     > show tables
     
     主上面:
     > rs.status()  查看从的health 如果是1 就说明是健康的
     > rs.config()  查看权重 (priority),权重越高就会变成主
     
     > cfg=rs.conf()
     > cfg.members[0].priority = 3  设置第一个从机子上的权重为 3
     > rs.reconfig(cfg)
     > rs.config()  此时查看从的权重是否不同

     禁掉主上面的端口
     iptables -I INPUT -p tcp  --dport 27017 -j DROP
     

     从上面:
     权重最高的从变成主,此时查看 rs.status() 就会看到原来的主 health 变成 0

      主上面:
      iptables -D INPUT -p tcp  --dport 27017 -j DROP
      主恢复之后,从上面添加的数据会自动添加到主上面
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值