数据库编程day05mongodb json2其他mongodb集实验_第1页
数据库编程day05mongodb json2其他mongodb集实验_第2页
数据库编程day05mongodb json2其他mongodb集实验_第3页
数据库编程day05mongodb json2其他mongodb集实验_第4页
数据库编程day05mongodb json2其他mongodb集实验_第5页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MongoDB 副本集实验准备运行 1 个主节点,2 个从节点,从节点中其中是一个是仲裁节点(Arb)。登录 root 用户,创建三个目录$mkdir p /data/node1$mkdir p /data/node2$mkdir p /data/arbiter启动三个 mongod 服务$nohup /usr/local/mongodb/b9927 -oplogSize 1024 &$nohup /usr/local/mongodb/b 9928 -oplogSize 1024 &$nohup /usr/local/mongodb/b9929 -oplogSize 1024 &ongod-r

2、eplSetapplication-dbpath /data/node1/-portongod-replSetapplication-dbpath /data/node2/-portongod-replSetapplication-dbpath /data/arbiter/-port其中 application 是副本集的名称,节点必须相同,dbpath指定数据库路径,port指定侦听端口,oplogSize 指定数据同步之前的缓存的空间大小,暂时指定 1G。选择 9927端口的实例为主节点,进入 9927 的 s:$mongo localhost:9927初始化副本集需要配置表,配置表如下:

3、config = _id: application, members: 注意_id 和副本集启动的共享名称一致。下面来逐步添加节点的数据信息:config.members.push(_id: 0, host: localhost:9927)config.members.push(_id: 1, host: localhost:9928)config.members.push(_id: 2, host: localhost:9929, arbiterOnly: true)也可以使用 rs.add 和 rs.addArb 函数来实现同样的操作。然后需要用这个表作为参数初始化副本集,在 9927 端

4、口的 s执行: rs.initiate(config)info : Config now saved locally.Should come online in about a minute., ok : 1返回 ok 为 1 表示初始化成功,三个节点互相检测通信,需要 1 分钟左右(反应够慢的 -),可以查看三个终端窗口的信息确认,完成通信后,在 9927 端口的 s置:回车执行命令确认配代码 rs.isMaster()setName : application,ismaster : true,secondary : false, hosts : localhost:9927, localh

5、ost:9928,arbiters : localhost:9929,primary : localhost:9927, me : localhost:9927, maxBsonObjectSize : 16777216,maxMessageSizeBytes : 48000000,localTime : ISODate(2016-09-04T05:23:09.359Z),ok : 1注意到 9927 端口的实例 ismaster 是 true,secondary 为 false,hosts 有 2 个实例,arbiter 有1 个元素,primary 关键 key 表示了主节点,通信完成几次

6、回车后可以看到 9927 的端口的实例 s的提示符已经改变,更改为 application:PRIMARY,查看更详细的信息:application:PRIMARY rs.sus()set : application,date : ISODate(2016-09-04T05:24:16Z),mySe : 1,members : _id : 0,name : localhost:9927, health : 1,se : 1,seStr : PRIMARY,uptime : 430,optime : Timest(1472966482, 1),optimeDate : ISODate(2016-

7、09-04T05:21:22Z),self : true,_id : 1,name : localhost:9928, health : 1,se : 2,seStr : SECONDARY,uptime : 170,optime : Timest(1472966482, 1),optimeDate : ISODate(2016-09-04T05:21:22Z),lastHeartbeat : ISODate(2016-09-04T05:24:14Z), lastHeartbeatRecv : ISODate(2016-09-04T05:24:15Z),Ms : 0,syncingTo : l

8、ocalhost:9927,_id : 2,name : localhost:9929, health : 1,se : 7,seStr : ARBITER,uptime : 170,lastHeartbeat : ISODate(2016-09-04T05:24:14Z), lastHeartbeatRecv : ISODate(2016-09-04T05:24:15Z),Ms : 0,ok : 1显示了每个节点的健康状况,名称,启动的时间,节点的类型等。查看当本集的配置表:pplication:PRIMARY rs.conf()_id : application,ver : 1,membe

9、rs : _id : 0,host : localhost:9927,_id : 1,host : localhost:9928,_id : 2,host : localhost:9929, arbiterOnly : true开始测试数据application:PRIMARY db.users.insert(username:yekai,age:34) application:PRIMARY db.users.find() _id : ObjectId(57cbb364fb371700037ff587), username : yekai, age : 34 进入 9928 从节点,执行查看

10、集合$mongo localhost:9928 application:SECONDARY show collections;Sun Sep4 13:39:46.607 error: $err : not master and slaveOk=false, code : 13435 atsrc/mongo/s/query.js:128发现s抛出了异常,显示 slaveOK 为false,当本集需要明确从节点参数,执行函数:application:SECONDARY rs.slaveOk() application:SECONDARY show collections; system.index

11、esusers查看数据application:SECONDARY db.users.find() _id : ObjectId(57cbb364fb371700037ff587), username : yekai, age : 34 从节点执行操作application:SECONDARY db.users.insert(username:fuhongxue,age:25) not master显示 not master,代表当前从节点只读.进入 9929 端口,可以看到仲裁节点的提示符号:$ mongo localhost:9929MongoDB sver: 2.4.9connecting

12、 to: localhost:9929/testapplication:ARBITER执行故障转移测试:1.可以杀掉 9927 的主节点再在从节点执行一下查询,发现从节点意见自己变成主节点application:SECONDARY db.users.find() _id : ObjectId(57cbb364fb371700037ff587), username : yekai, age : 34 再次执行操作application:PRIMARY db.users.insert(username:fuhongxue,age:25)application:PRIMARY db.users.fi

13、nd() _id : ObjectId(57cbb364fb371700037ff587), username : yekai, age : 34 _id : ObjectId(57cbb5f2438350de0981fa09), username : fuhongxue, age : 25 已经可以成功2.再将 9927 上线9927 将变为从节点:$ mongo localhost:9927MongoDB sver: 2.4.9connecting to: localhost:9927/testapplication:SECONDARY show tables;Sun Sep4 13:55:33.333 error: $err : not master and slaveOk=false, code : 13435 atsrc/mongo/s/query.js:128application:SECONDARY rs.slaveOk()application:SECONDARY show tables system.indexesusers查看数据applic

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论