mongodb多shard启动配置

来源:互联网 发布:异域狂想曲 知乎 编辑:程序博客网 时间:2024/05/22 07:58

1. 启动shard server:

为每个shard(各项参数做适当修改)执行:

mongod --port 40001 --bind_ip 127.0.0.1 --fork --logpath /data1/DBdata/shard.log --shardsvr --dbpath /data1/DBdata/

2. 启动config server:

mongod --port 40000 --bind_ip 127.0.0.1 --fork --logpath /data/DBdata/config.log --configsvr --dbpath /data/DBdata/

3. 启动mongo server:

mongos --port 50000 --bind_ip 127.0.0.1 --fork --logpath /data/DBdata/mongos.log --configdb 127.0.0.1:40000

注意,这里的--configdb 的地址与上一步对应

4. 用client连接进去:

mongo --port 50000 --host 127.0.0.1

这里的地址与第3步对应

5. 在启动的mongo shell中添加shard:

> use admin

switched to db admin

> db.runCommand({addshard: '127.0.0.1:40001'})
{ "shardAdded" : "shard0000", "ok" : 1 }

...(添加各个shard)

6. 让某个database中的某个collection自动sharding:

假设需要让foo database中的bar collection自动sharding

> db.runCommand({"enablesharding" : "foo"})

> db.runCommand({"shardcollection" : "foo.bar", "key" : {"_id" : 1}})


实际中,还可以同时有多个config server,多个mongs server,以及使用replica

这些后续在补充吧