MongoDB分片群集(windows)

原创 2012年03月23日 23:05:48
1、准备工作
C:\Documents and Settings\Administrator>d:
D:\>cd D:\mongodb-win32-i386-2.0.2
D:\mongodb-win32-i386-2.0.2>mkdir data
D:\mongodb-win32-i386-2.0.2>cd data
D:\mongodb-win32-i386-2.0.2\data>mkdir config
D:\mongodb-win32-i386-2.0.2\data>mkdir log
D:\mongodb-win32-i386-2.0.2\data>mkdir shard1_1
D:\mongodb-win32-i386-2.0.2\data>mkdir shard2_1
D:\mongodb-win32-i386-2.0.2\data>dir
驱动器 D 中的卷是 新加卷
卷的序列号是 E88D-35CB

D:\mongodb-win32-i386-2.0.2\data 的目录
2012-02-23  12:47    <DIR>          .
2012-02-23  12:47    <DIR>          ..
2012-02-23  12:47    <DIR>          config
2012-02-23  12:47    <DIR>          log
               0 个文件              0 字节
               4 个目录 226,136,317,952 可用字节


创建Shards
D:\mongodb-win32-i386-2.0.2\bin>
mongod --install  --serviceName MongoDBServer --serviceDisplayName MongoDBServer --shardsvr --replSet shard1 --port 27017 --dbpath "D:\mongodb-win32-i386-2.0.2\data\shard1_1" --oplogSize 100 --logpath "D:\mongodb-win32-i386-2.0.2\data\log\shard1_1.log" --logappend    --profile=1 --slowms=5 --rest


/data/

mongod --install  --serviceName MongoDBServer2 --serviceDisplayName MongoDBServer2 --shardsvr --replSet shard2 --port 27018 --dbpath "D:\mongodb-win32-i386-2.0.2\data\shard2_1" --oplogSize 100 --logpath "D:\mongodb-win32-i386-2.0.2\data\log\shard2_1.log" --logappend    --profile=1 --slowms=5 --rest

2、mongo连接27017配置shard1
> config = {_id: "shard1", members: [
                          {_id: 0, host: "192.168.1.41:27017"},
                          {_id: 1, host: "192.168.1.19:27017"},
                          {_id: 2, host: "192.168.1.40:27017"}]
           }
mongo连接27017配置shard2
> config = {_id: "shard2", members: [
                          {_id: 0, host: "192.168.1.41:27018"},
                          {_id: 1, host: "192.168.1.19:27018"},
                          {_id: 2, host: "192.168.1.40:27018"}]
           }
注:配置修改后(rs.reconfig()),需重新启动服务才能生效,config的修改需从Primary中修改。

{
        "_id" : "shard1",
        "version" : 1,
        "members" : [
                {
                        "_id" : 0,
                        "host" : "192.168.1.41:27017",priority :1,slavedelay :5
                },
                {
                        "_id" : 1,
                        "host" : "192.168.1.19:27017",priority :0,slavedelay :5
                }
        ]
}

> rs.initiate(config);

3、配置config services
mongod --install  --serviceName MongoDBConfigServer --serviceDisplayName MongoDBConfigServer --configsvr --dbpath "D:\mongodb-win32-i386-2.0.2\data\config" --port 20000 --logpath "D:\mongodb-win32-i386-2.0.2\data\log\config.log" --logappend

4、配置mongs
下载Windows Server 2003 Resource Kit Tools

命令行运行:
D:\mongodb-win32-i386-2.0.2\bin>"C:\Program Files\Windows Resource Kits\Tools\in
stsrv.exe" mongos "C:\Program Files\Windows Resource Kits\Tools\srvany.exe"

The service was successfuly added!

Make sure that you go into the Control Panel and use
the Services applet to change the Account Name and
Password that this newly installed service will use
for its Security Context.

mongos --configdb 192.168.1.19:20000,192.168.1.41:20000,192.168.1.40:20000 --port 30000 --chunkSize 5 --logpath "D:\mongodb-win32-i386-2.0.2\data\log\mongos.log" --logappend

--configdb 192.168.1.19:20000 --port 30000 --chunkSize 5 --logpath 'D:\mongodb-win32-i386-2.0.2\data\log\mongos.log' --logappend

sc create MongoDBMongosServer binpath= "D:\mongodb-win32-i386-2.0.2\bin\mongos.exe" displayname= "MongoDBMongosServer" depend= Tcpip start= auto 

5、连接mongs
mongo 127.0.0.1:30000/admin

6、加入
单台
>db.runCommand( {addshard:"127.0.0.1:27017",name:"shard1",maxsize:20480]" })
多台
>db.runCommand( {addshard:"shard1/192.168.1.19:27017,192.168.1.41:27017,192.168.1.40:27017",name:"shard1",maxsize:20480} )

db.runCommand( {addshard:"shard2/192.168.1.19:27018,192.168.1.41:27018,192.168.1.40:27018",name:"shard2",maxsize:20480} )
删除分片
db.runCommand( { removeshard : "shard_liyan2/127.0.0.1:16002,127.0.0.1:16004"} );
注:在增加分片服务器时,需要重启mongos服务
7、查看
db.runCommand( { listshards : 1 } )

8、数据库分片
db.runCommand( { enablesharding : "TestDB"} )

9、Collecton分片
db.runCommand( { shardcollection : "TestDB.UserInfo", key : {UserId : 1} } )

10、测试
for (var i = 1; i <= 200000; i++) db.UserInfo.save({UserId:i, value1:"FengYi1234567890", value2:"1234567890",value3:"1234567890"})


db.UserInfo.find({UserId:1})

参考资料:

windows下mongodb分片设置与集群搭建

这里简单介绍一下windows下mongodb的分片设置和集群搭建,希望能够为迷茫的新手起到一点点作用。windows下是通过黑窗口来运行的,当然只有一个本机ip:127.0.0.1,然后通过端口号的...
  • bfdnmy
  • bfdnmy
  • 2016年07月06日 20:45
  • 446

【MongoDB】在windows平台下mongodb的分片集群(四)

前言:     今天周末却学了一天,有点不想学习了,就在刚写完前两篇后,大概过了一个小时,我就在心里说,如果刚才写的那两篇博客阅读量过了80我就些这篇博客,如果不过,今晚就不再学习了。刚刚一看,一篇...
  • sxb0841901116
  • sxb0841901116
  • 2014年11月09日 00:09
  • 1605

Windows搭建MongoDB分片以及复制集

本文主要介绍如何在windows部署MongoDB的复制集以及分片,在搭建过程中主要参考了http://blog.csdn.net/sxb0841901116/article/category/254...
  • zlp1992
  • zlp1992
  • 2017年08月10日 15:26
  • 403

【MongoDB】在window系统下搭建MongoDB的分片集群(一)

坦白说,刚看到这个fen'pian
  • sxb0841901116
  • sxb0841901116
  • 2014年11月06日 00:20
  • 3563

【MongoDB】在windows平台下搭建mongodb的分片集群(二)

在上一片博客中我们讲了Mongodb数据库中分片集群的主要原理。在本篇博客中我们主要讲描述分片集群的搭建过程。配置分片集群主要有两个步骤,第一启动所有需要的mongod和mongos进程。第二步就是启...
  • sxb0841901116
  • sxb0841901116
  • 2014年11月08日 19:39
  • 2856

【MongoDB】在windows平台下mongodb的分片集群(五)

本篇接着上面的四篇继续讲述在window平台下mongodb的分片集群搭建。在分片集群中也照样可以创建索引,创建索引的方式与在单独数据库中创建索引的方式一样。因此这不再多说。本篇主要聚焦在分片键的选取...
  • sxb0841901116
  • sxb0841901116
  • 2014年11月11日 00:04
  • 1644

MongoDB分片集群实战

1.实例操作展示MongoDB的分片: 参考: http://mib168.iteye.com/blog/1825429 http://www.cnblogs.com/refactor/archiv...
  • he90227
  • he90227
  • 2015年05月11日 14:00
  • 1682

mongodb 通过mongodump来备份Sharded Cluste分片集群

1,mongodb所有组件官方文档地址:https://docs.mongodb.com/manual/reference/command/,所有的基础组件都在里面,包括备份恢复的mongodump、...
  • mchdba
  • mchdba
  • 2016年06月26日 22:43
  • 6899

MongoDB分片介绍(一)——基本概念

拥有大量数据和高吞吐量应用的数据库将挑战单个服务器的容量。大量的查询将会耗尽单台机器的CPU,大量的数据将超出单台机器的存储空间,最后活动数据集合将超出单台机器的内存容量导致磁盘IO压力巨大。为解决上...
  • luohongqing
  • luohongqing
  • 2013年11月08日 11:58
  • 1637

MongoDB分片(sharding)/分区(partitioning)介绍

分片是指将数据拆分,将其分散存放在不同的机器上的过程。有时也用分区(partitioning)来表示这个概念。   几乎所有数据库软件都能进行手动分片(manual sharding)。应用需要维护与...
  • tanga842428
  • tanga842428
  • 2016年09月19日 15:52
  • 5278
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MongoDB分片群集(windows)
举报原因:
原因补充:

(最多只允许输入30个字)