码迷,mamicode.com
首页 > 数据库 > 详细

搭建mongodb集群(副本集+分片)

时间:2014-11-20 23:47:19      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   ar   os   使用   on   div   2014   

完整的搭建mongodb集群(副本集+分片)的例子。。。

准备四台机器,分别是bluejoe1,bluejoe2,bluejoe3,以及bluejoe0

副本集及分片策略确定如下:

  • 将创建3个副本集,命名为shard1,shard2,shard3;
  • 以上3个副本集作为3个分片;
  • 每个副本集包含2个副本(主、辅);
  • 副本分开存储,即shard1存在bluejoe1和bluejoe2上各一份。。。以此类推
  • 将创建3个配置库实例,一台机器一个
  • bluejoe0上配置一个mongos(mongos一般可以配置在应用端)
画了一个图:

bubuko.com,布布扣

具体操作步骤如下:
  1. 在bluejoe1上下载mongdb安装包;
  2. 解压至/usr/local/mongdb(注意改名);
  3. 创建data/node1和data/node2目录,启动2个mongod实例,注意它们分别是shard1-1和shard3-2:
    /usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/data/node1 --port 10001 --replSet shard1/bluejoe2:10002 --logpath=/usr/local/mongodb/log/node1.log
    /usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/data/node2 --port 10002 --replSet shard3/bluejoe3:10001 --logpath=/usr/local/mongodb/log/node2.log
  4. 初始化副本
    db.runCommand(
    	{
    		"replSetInitiate":
    		{
    			"_id":"shard1",
    			"members":
    			[
    				{
    					"_id":1,
    					"host":"bluejoe1:10001"
    				},
    				{
    					"_id":2,
    					"host":"bluejoe2:10002"
    				}
    			]
    		}
    	})
    	

  5. 创建data/configdb,启动配置库实例:
    /usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/data/configdb --port 20000 --logpath=/usr/local/mongodb/log/configdb.log
  6. 使用scp命令,将mongodb目录复制至bluejoe2和bluejoe3机器,并按照第3、4步启动每台机器上的3个实例,注意副本也要初始化;
  7. 到现在为止应该有9个mongd实例,其中3个为配置库实例,剩下的属于3个副本集;
  8. 接下来管理分片,在bluejoe0上启动mongs:
    /usr/local/mongodb/bin/mongos --port 30000 --configdb bluejoe1:20000,bluejoe2:20000,bluejoe3:20000
  9. 连接上mongos,配置分片信息:
    mongos> use admin
    switched to db admin
    	
    db.runCommand({"addShard":"shard1/bluejoe1:10001"})
    db.runCommand({"addShard":"shard2/bluejoe2:10001"})
    db.runCommand({"addShard":"shard3/bluejoe3:10001"})
  10. 对库开启分片功能:
    mongos> use admin
    switched to db admin
    mongos> db.runCommand({"enablesharding":"test"})
    { "ok" : 1 }
    mongos> db.runCommand({"shardcollection":"test.person","key":{"name":1}})
    { "collectionsharded" : "test.person", "ok" : 1 }


搭建mongodb集群(副本集+分片)

标签:blog   http   io   ar   os   使用   on   div   2014   

原文地址:http://blog.csdn.net/bluejoe2000/article/details/41323051

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!