Centos-mongodb主从复制与副本集

主从复制是一个简单的数据库同步备份的集群技术,如下图:要明确的知道主服务器与从服务器,且从服务器要明确的知道主服务器的存在。
1、在MongoDB中在启动数据库服务时,可以用master参数来指定主服务器,如下图:bind_ip是主数据库所在服务器IP

    /usr/nacp/mongodb/bin/mongod --dbpath /usr/nacp/mongodb/data/ --logpath /usr/nacp/mongodb/log/mongodb.log --port=27017 --fork --master

2、而用slave参数可以指定从服务器,如下图:source参数用于指定主服务器

    /usr/nacp/mongodb/bin/mongod --dbpath /usr/nacp/mongodb/data/slave8/ --logpath /usr/nacp/mongodb/log/slave8/mongodb.log --port=27018 --fork --slave --source localhost:27017

副本集:集群中有三台数据库服务器,一台活跃服务器和两台备份服务器。当活跃服务器A发生故障时,会根据权重算法从备份服 务器B和C中选出B作为新的活跃服务器,而当A恢复时当成备份服务器,继续加入到整个数据库集群中工作,这就是MongoDB的副本集。

    /usr/nacp/mongodb/bin/mongod --port 22001 --dbpath /usr/nacp/mongodb/shard1/data --logpath=/usr/nacp/mongodb/shard1/log/shard1.log --directoryperdb --maxConns 100 --logappend --replSet repl/192.168.2.235:22001 --fork
    /usr/nacp/mongodb/bin/mongod --port 22001 --dbpath /usr/nacp/mongodb/shard1/data --logpath /usr/nacp/mongodb/shard1/log/shard1.log --directoryperdb --maxConns 100 --logappend --replSet repl/192.168.2.236:22001 --fork
    /usr/nacp/mongodb/bin/mongod --port 22001 --dbpath /usr/nacp/mongodb/shard1/data --logpath /usr/nacp/mongodb/shard1/log/shard1.log --directoryperdb --maxConns 100 --logappend --replSet repl/192.1638.2.233:22001 --fork

然后就需要初始化副本集。进入到这三台数据库服务器中任何一个的admin数据库,执行如下图的操作来初始化副本集:这里没有设置这三台服务器的权重,MonggoDB推选活跃服务器的策略是随机的。

    /usr/nacp/mongodb/bin/mongo --port 22001
    use admin
    db.runCommand({"replSetInitiate":{"_id":"repl","members":[{"_id":1,"host":"192.168.2.233:22001"},{"_id":2,"host":"192.168.2.235:22001"},{"_id":3,"host":"192.168.2.236:22001"}]}});

查看副本集信息

    repl:OTHER> db._adminCommand("replSetGetStatus");

在活跃服务器shell中可以使用“rs.status()”来查看副本集的状态。

mongodb默认是从主节点读写数据的,副本节点上不允许读,需要设置副本节点可以读。

    repset:SECONDARY> db.getMongo().setSlaveOk();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值