MongoDB 集群(二)

原创
2016/11/21 22:24
阅读数 26

MongoDB 主从

主mongodb.config配置

  • dbpath=/usr/data/mongodb/master/master/data/db
  • logpath=/usr/data/mongodb/master/master/log/mongodb.log
  • logappend=true
  • fork=true
  • bind_ip=192.168.1.1
  • port=27001
  • master=true
  • source=192.168.1.1:27002

从mongodb.config配置

  • dbpath=/usr/data/mongodb/master/slave/data/db
  • logpath=/usr/data/mongodb/master/slave/log/mongodb.log
  • logappend=true
  • fork=true
  • bind_ip=192.168.1.1
  • port=27002
  • slave=true
  • source=192.168.1.1:27001

mongoDB官方已经不建议使用主从模式了,替代方案是采用副本集的模式

mongo --host 192.168.1.1 -port 27001

  • > use test
  • switched to db test
  • > db.createCollection("my")
  • { "ok" : 1 }
  • > for(var i=0;i<100;i++)db.my.insert({name:"zhangsan"+i})
  • WriteResult({ "nInserted" : 1 })
  • > show collections
  • my
  • system.indexes
  • > db.my.find();
  • { "_id" : ObjectId("5833003a0c9c1401998c51ea"), "name" : "zhangsan0" }
  • { "_id" : ObjectId("5833003a0c9c1401998c51eb"), "name" : "zhangsan1" }
  • { "_id" : ObjectId("5833003a0c9c1401998c51ec"), "name" : "zhangsan2" }
  • { "_id" : ObjectId("5833003a0c9c1401998c51ed"), "name" : "zhangsan3" }
  • mongo --host 192.168.1.1 -port 27002
  • > show dbs
  • error: { "$err" : "not master and slaveOk=false", "code" : 13435 }

需要注意的是,从服务器默认情况下是不支持读写的,但是会把数据同步到从服务器,不支持客户端读写。需要客户端连接从服务器时用命令支持读:rs.slaveOk()

  • > rs.slaveOk()
  • > show dbs
  • local  0.078GB
  • test   0.078GB
  • > use test
  • switched to db test
  • > show collections
  • my
  • system.indexes
  • > db.my.find()
  • { "_id" : ObjectId("5833003a0c9c1401998c51ea"), "name" : "zhangsan0" }
  • { "_id" : ObjectId("5833003a0c9c1401998c51eb"), "name" : "zhangsan1" }
  • { "_id" : ObjectId("5833003a0c9c1401998c51ec"), "name" : "zhangsan2" }
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部