织梦CMS - 轻松建站从此开始!

罗索

mongodb 搭建主从服务器实战

落鹤生 发布于 2013-01-29 09:44 点击:次 
mongodb 主从配置比较简单,只需要在启动的时候添加参数。我们搭建一个模拟的环境,在一台centos上启动三个mongodb服务。
TAG:

mongodb 主从配置比较简单,只需要在启动的时候添加参数。
我们搭建一个模拟的环境,在一台centos上启动三个mongodb服务。监听端口分别为:
27010、27011、27012。配置后的环境为:27010为主,27011、27012为从。

下面开始实现上面的环境:
1) 创建mongodb数据存放的文件夹

  1. mkdir -p /mongodata/test/db27010 
  2. mkdir -p /mongodata/test/db27011 
  3. mkdir -p /mongodata/test/db27012 

2)启动27010主
   在启动命令中加入 master,该mongo服务即可作为主。

  1. mongod --dbpath /mongodata/test/db27010 --port 27010 --master
  2.  --logpath /mongodata/test/db27010/log.txt --fork 

3)启动27011、27012从
   添加参数 --slave 作为从,通过--source localhost:27010来指定主的位置。

  1. mongod --dbpath /mongodata/test/db27011 --port 27011 --slave --source
  2.  localhost:27010 --logpath /mongodata/test/db27011/log.txt --fork 
  3.  
  4. mongod --dbpath /mongodata/test/db27012 --port 27012 --slave --source
  5.  localhost:27010  --logpath /mongodata/test/db27012/log.txt --fork 

4)测试
查看mongo服务

  1. ps -aux|grep mongo 

看到如下内容:

  1. root     21735  0.1  8.0 237012 20440 ?
  2.         Sl   20:09   0:00 mongod --dbpath /mongodata/test/db27010
  3.  --port 27010 --master --logpath /mongodata/test/db27010/log.txt --fork 
  4. root     21784  0.9  7.9 129416 20164 ?
  5.         Sl   20:15   0:00 mongod --dbpath /mongodata/test/db27011
  6.  --port 27011 --slave --source localhost:27010
  7.  --logpath /mongodata/test/db27011/log.txt --fork 
  8. root     21798  0.6  7.9 129384 20160 ?
  9.         Sl   20:15   0:00 mongod --dbpath /mongodata/test/db27012
  10.  --port 27012 --slave --source localhost:27010
  11.  --logpath /mongodata/test/db27012/log.txt --fork 

我们的三个mongodb服务都已经启动。

添加测试数据:
我们在主27010中创建user集合,并添加100个用户,然后再从中查看。

  1. mongo --port 27010 
  2. use user; 
  3. for(i=0;i<100;i++){ db.user.insert({"name":"ximu"+i}); }  

查看主的90-94的数据:

  1. db.user.find().skip(90).limit(5); 

查看从的数据:

  1. mongo --port 27011 
  2. show dbs; 
  3. use user; 
  4. db.user.find().skip(90).limit(5); 
  5.  
  6. mongo --port 27012 
  7. show dbs; 
  8. use user; 
  9. db.user.find().skip(90).limit(5); 

5)主从的管理
查看当前的从服务器:

  1. mongo --port 27010 
  2. use local; 
  3. db.slaves.find(); 

输出如下内容:

  1. "_id" : ObjectId("4fabb177fc376c0a2552bab4"), "host" : "127.0.0.1""ns"
  2.  : "local.oplog.$main""syncedTo" : { "t" : 1336653678000, "i" : 1 } } 
  3. "_id" : ObjectId("4fabb18078bc627b617794d2"), "host" : "127.0.0.1""ns"
  4.  : "local.oplog.$main""syncedTo" : { "t" : 1336653678000, "i" : 1 } } 

查看从的主:

  1. mongo --port 27011 
  2. use local; 
  3. db.sources.find(); 

输出如下内容:

  1. "_id" : ObjectId("4fabb18078bc627b617794d1"), "host" : "localhost:27010"
  2. "source" : "main""syncedTo" : { "t" : 1336653868000, "i" : 1 }
  3. "localLogTs" : { "t" : 0, "i" : 0 } } 

6)主从复制的选项

–slavedelay 10      #延时复制 单位为秒
–autoresync         #自动重新同步
–only               #复制指定的数据库,默认复制所有的库
–oplogSize          #主节点的oplog日志大小,单位为M

(ximu)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201301/16494.html]
本文出处:博客园 作者:ximu 原文
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容