MongoDB实战系列之四:mongodb副本集部署

简述:副本集合(Replica Sets),是一个基于主/从复制机制的复制功能,但增加了自动故障转移和恢复特性。一个集群最多可以支持7个服务器,并且任意节点都可以是主节点。所有的写操作都被分发到主节点,而读操作可以在任何节点上进行。


环境:CentOS 5.5 x64

md01           10.0.0.11
md02           10.0.0.12
md03           10.0.0.14

把以上主机名对应IP 添加到hosts文件 

方法一:设置优先级

启动各节点:

 
 
  1. md01
  2. /elain/apps/mongodb/bin/mongod --rest --replSet elain/md01:27017 --master --fork --port 27017 --dbpath /elain/data/mongodb/db/ --logpath /elain/logs/mongodb/mongodb.log 
  3. md02 
  4. /elain/apps/mongodb/bin/mongod --rest --replSet elain/md02:27017  --fork --port 27017 --dbpath /elain/data/mongodb/db/ --logpath /elain/logs/mongodb/mongodb.log 
  5. md03 
  6. /elain/apps/mongodb/bin/mongod --rest --replSet elain/md03:27017  --fork --port 27017 --dbpath /elain/data/mongodb/db/ --logpath /elain/logs/mongodb/mongodb.log 

初始化节点:
md01:(登录其中任何一个节点操作皆可)

 
 
  1. mongo --port 27017 
  2.  
  3. > rs.initiate({ 
  4.     _id : "elain", 
  5.     members : [ 
  6.     {_id : 1, host : "md01:27017", priority:2}, 
  7.     {_id : 2, host : "md02:27017", priority:3}, 
  8.     {_id : 3, host : "md03:27017", priority:4}, 
  9.     ] 
  10.     }); 
#priority 是设置优先级的,默认优先级为1,可以是1-1000的数字 注:通常在同一个交换机上,同一个网内,通常使用优先级来设置 副本集就已经足够使用了 方法二:添加仲裁节点(这里设置在md02): 启动各节点: md01
 
 
  1. /elain/apps/mongodb/bin/mongod --rest --replSet elain/md01:27017 --fork --port 27017 --dbpath /elain/data/mongodb/db/ --logpath /elain/logs/mongodb/mongodb.log 
  2. md02 
  3. /elain/apps/mongodb/bin/mongod --rest --replSet elain/md02:27017 --fork --port 27017 --dbpath /elain/data/mongodb/db/ --logpath /elain/logs/mongodb/mongodb.log 
  4. md03 
  5. /elain/apps/mongodb/bin/mongod --rest --replSet elain/md03:27017 --fork --port 27017 --dbpath /elain/data/mongodb/db/ --logpath /elain/logs/mongodb/mongodb.log 

#启动仲裁节点
在md02上

 
 
  1. mkdir /elain/data/mongodb/arb 
  2. /elain/apps/mongodb/bin/mongod --fork --rest --replSet elain --dbpath /elain/data/mongodb/arb --port 27015 --logpath /elain/logs/mongodb/mongodb.log 

初始化节点:
md01:(登录其中任何一个节点操作皆可)

 
 
  1. > rs.initiate({ 
  2.     _id : "elain", 
  3.     members : [ 
  4.     {_id : 1, host : "md01:27017"}, 
  5.     {_id : 2, host : "md02:27017"}, 
  6.     {_id : 3, host : "md03:27017"}, 
  7.     {_id : 4, host : "md02:27015", "arbiterOnly": true}, 
  8.     ] 
  9.     });
#验证
 
 
  1. PRIMARY> rs.status() 
也可浏览:http://10.0.0.11:28017/_replSet  查看状态 #设置从库可读(从库上执行)
 
 
  1. >rs.slaveOk(); 
查看副本集状态
 
 
  1. >rs.status() 
  2. >user local; 
  3. >rs.isMaster() 
  4. >db.system.replset.find()
查看当前主库:
 
 
  1. >db.$cmd.findOne({ismaster:1}); 

 原文地址:MongoDB实战系列之四:mongodb副本集部署

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值