您的位置:首页 > 数据库 > Mongodb

mongodb分片配置

2015-04-24 15:58 218 查看
搜索百度或谷歌都有大量的文档可以参考,只是由于自己理解能力不够,看的不是太懂。因此自己把实验成功的步骤记录下来。

我在自己的虚拟机里实现的,ip为192.168.92.107,使用的是mongodb3.0.2版本。配置信息如下,不过我没有为每个集群配置一个arbiter。




创建shard-a集群数据库目录

mkdir /data/rs-a-1
mkdir /data/rs-a-2
创建shard-b集群数据库目录
mkdir /data/rs-b-1
mkdir /data/rs-b-2
启动集群shard-a:
/home/mongodb/bin/mongod --shardsvr --replSet shard-a --dbpath /data/rs-a-1 --port 30000 --fork --logpath=/data/rs-a-1.log --logappend
/home/mongodb/bin/mongod --shardsvr --replSet shard-a --dbpath /data/rs-a-2 --port 30001 --fork --logpath=/data/rs-a-2.log --logappend
设置集群shard-a:
/home/mongodb/bin/mongo --port 30000
config={_id:"shard-a","members":[{_id:1,"host":"192.168.92.107:30000"},{_id:2,"host":"192.168.92.107:30001"}]}
rs.initiate(config)


启动集群shard-b:

/home/mongodb/bin/mongod --shardsvr --replSet shard-b --dbpath /data/rs-b-1 --port 30010 --fork --logpath=/data/rs-b-1.log --logappend
/home/mongodb/bin/mongod --shardsvr --replSet shard-b --dbpath /data/rs-b-2 --port 30011 --fork --logpath=/data/rs-b-2.log --logappend
设置集群shard-b:
/home/mongodb/bin/mongo --port 30010
config={_id:"shard-b","members":[{_id:1,"host":"192.168.92.107:30010"},{_id:2,"host":"192.168.92.107:30011"}]}
rs.initiate(config)


创建shard-config数据库目录
mkdir /data/config-1
启动配置服务器:
/home/mongodb/bin/mongod --configsvr --dbpath /data/config-1 --port 27019 --logpath=/data/config-1.log --fork --nojournal
开启shard-mongos:
/home/mongodb/bin/mongos --configdb 192.168.92.107:27019 --port 40000 --logpath=/data/mongos.log --fork


配置分片信息:
1)添加分片信息:
sh.addShard("shard-a/192.168.92.107:30000,192.168.92.107:30001")
sh.addShard("shard-b/192.168.92.107:30010,192.168.92.107:30011")
2)指定数据库分片:
sh.enableSharding("mongoCache")
3)指定分片数据库中的集合的分片键(这里通过id来分片):
sh.shardCollection("mongoCache.cacheInfo",{_id:1})


至此一个基本的mongodb分片集群就创建成功了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息