mongodb主从集群
2015-12-21 17:55
513 查看
mongodb安装,请参考mongodb2.6安装篇
主从集群
mongodb支持在多个机器中通过异步复制达到故障转移和实现冗余。
多机器中同一时刻只有一台用于写操作,正是由于这个情况,mongodb提供了数据一致性的保障,担当primary角色的机器能把读操作分发给slave。
mongodb的主从集群分为两种:
master-slave复制(主从)
replica Sets复制(副本集)
master-slave复制(主从)
只需要在某一个服务启动加上--master参数,而另一个服务加上--slave与--source参数,即可实现同步。mongodb的最新版本已经不推荐使用这种方法了。
一下2张图片来自互联网!!!
1:主――>从
主
2:从从从
这里我使用一台服务器做mongodb主从服务器,规划示例如下:
创建master、slave目录
启动mongodb-master
启动mongodb-slave
mongodb-master登陆
插入数据,并查看插入的数据
mongodb-salve登陆以及查看master同步的数据
本文出自 “村里的男孩” 博客,请务必保留此出处http://noodle.blog.51cto.com/2925423/1726897
主从集群
mongodb支持在多个机器中通过异步复制达到故障转移和实现冗余。
多机器中同一时刻只有一台用于写操作,正是由于这个情况,mongodb提供了数据一致性的保障,担当primary角色的机器能把读操作分发给slave。
mongodb的主从集群分为两种:
master-slave复制(主从)
replica Sets复制(副本集)
master-slave复制(主从)
只需要在某一个服务启动加上--master参数,而另一个服务加上--slave与--source参数,即可实现同步。mongodb的最新版本已经不推荐使用这种方法了。
一下2张图片来自互联网!!!
1:主――>从
主
2:从从从
这里我使用一台服务器做mongodb主从服务器,规划示例如下:
master主port:20001 slave从port:20002
创建master、slave目录
[root@localhost opt]# mkdir master slave [root@localhost opt]# ll total 8 drwxr-xr-x 2 root root 4096 Dec 14 04:57 master drwxr-xr-x 2 root root 4096 Dec 14 04:57 slave [root@localhost opt]# mkdir log [root@localhost opt]# pwd /opt
启动mongodb-master
[root@localhost opt]# mongod --master --dbpath=/opt/master/ --logpath=/opt/log/master.log --logappend --fork --port 20001 about to fork child process, waiting until server is ready for connections. forked process: 1397 child process started successfully, parent exiting [root@localhost opt]# netstat -ntpl|grep 2000 tcp 0 0 0.0.0.0:20001 0.0.0.0:* LISTEN 1397/mongod
启动mongodb-slave
[root@localhost opt]# mongod --slave --source 192.168.33.131:20001 --dbpath=/opt/slavogpath=/opt/log/slave.log --logappend --fork --pe/ --logpath=/opt/log/slave.log --logappend --fork --port 20002 about to fork child process, waiting until server is ready for connections. forked process: 1435 child process started successfully, parent exiting [root@localhost opt]# netstat -ntpl|grep 20002 tcp 0 0 0.0.0.0:20002 0.0.0.0:* LISTEN 1435/mongod
mongodb-master登陆
[root@localhost opt]# mongo --port 20001 MongoDB shell version: 2.6.11 connecting to: 127.0.0.1:20001/test > db test > show tables;
插入数据,并查看插入的数据
> db.c1.insert({name:"haha"}) WriteResult({ "nInserted" : 1 }) > db.c1.find() { "_id" : ObjectId("566dde3a9701d2a9501e7c05"), "name" : "haha" } > db.c1.insert({name:"abc"}) WriteResult({ "nInserted" : 1 }) > db.c1.find() { "_id" : ObjectId("566dde3a9701d2a9501e7c05"), "name" : "haha" } { "_id" : ObjectId("566dde919701d2a9501e7c06"), "name" : "abc" } >
mongodb-salve登陆以及查看master同步的数据
[root@localhost ~]# mongo --port 20002 MongoDB shell version: 2.6.11 connecting to: 127.0.0.1:20002/test > db test > show tables; c1 system.indexes > db.c1.find() { "_id" : ObjectId("566dde3a9701d2a9501e7c05"), "name" : "haha" }因为是slave服务,所以无法插入数据,只能查看数据
> db.c1.insert({name:"abc"}) WriteResult({ "writeError" : { "code" : undefined, "errmsg" : "not master" } }) > db.c1.find() { "_id" : ObjectId("566dde3a9701d2a9501e7c05"), "name" : "haha" } { "_id" : ObjectId("566dde919701d2a9501e7c06"), "name" : "abc" }
本文出自 “村里的男孩” 博客,请务必保留此出处http://noodle.blog.51cto.com/2925423/1726897
相关文章推荐
- 关于nodejs连接多个mongodb表
- mongodb操作汇总
- MongoDB -- 更新
- golang mongodb (mgo)插入或读取文档的字段值为空(nil)问题解决
- yii2 类似mongoose schema ,对mongodb 进行类型定义,以及强制转换
- MongoDB与衍生版的TokuMX对比
- 使用mongoVUE对mongoDB进行增删改查说明
- 查看实时Mongodb query 命令
- MongoDB设置访问权限、设置用户
- MongoDB(八)Mongodb——GridFS存储
- Python + Mongodb数据存储
- MongoDB基础(1)-启动,增删改查
- mongodb2.6安装
- nodejs使用connect-mongodb报错(Please ensure that you set the default write concern)
- MongoDB使用小结:一些不常见的经验分享
- MongoDB 3.2版WiredTiger存储引擎性能测试
- Mongodb的安装(Mac)以及相关宝贵资料
- 使用 Node.js、Express、AngularJS 和 MongoDB 构建一个Web程序
- mongodb-php应用
- mongodb--应用