MongoDB Cluster Setting up [replSet + Sharding]

本文详细介绍了如何在每个服务器上设置MongoDB集群,包括replSet和分片的配置步骤。从step 1到step 5,逐步指导完成配置,并在最后指定使用分片的数据库,以及验证配置是否成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

step 1 [on each server]

sudo mkdir -p /data/mongodbwsdc/mongos/log
sudo mkdir -p /data/mongodbwsdc/config/data
sudo mkdir -p /data/mongodbwsdc/config/log
sudo mkdir -p /data/mongodbwsdc/mongos/log
sudo mkdir -p /data/mongodbwsdc/shard1/data
sudo mkdir -p /data/mongodbwsdc/shard1/log
sudo mkdir -p /data/mongodbwsdc/shard2/data
sudo mkdir -p /data/mongodbwsdc/shard2/log
sudo mkdir -p /data/mongodbwsdc/shard3/data
sudo mkdir -p /data/mongodbwsdc/shard3/log

step 2 [on each server]

sudo ./mongodb-linux-x86_64-ubuntu1404-3.2.0/bin/mongod --configsvr --dbpath /data/mongodbwsdc/config/data --port 21000 --logpath /data/mongodbwsdc/config/log/config.log --fork
sudo ./mongodb-linux-x86_64-ubuntu1404-3.2.0/bin/mongos --configdb 10.10.2.151:21000,10.10.2.152:21000,10.10.2.159:21000 --port 20000 --logpath /data/mongodbwsdc/mongos/log/mongos.log --fork

step 3 [on each server]

sudo ./mongodb-linux-x86_64-ubuntu1404-3.2.0/bin/mongod --shardsvr --replSet shard1 --port 22001 --dbpath /data/mongodbwsdc/shard1/data  --logpath /data/mongodbwsdc/shard1/log/shard1.log --fork --nojournal  --oplogSize 10
sudo ./mongodb-linux-x86_64-ubuntu1404-3.2.0/bin/mongod --shardsvr --replSet shard2 --port 22002 --dbpath /data/mongodbwsdc/shard2/data  --logpath /data/mongodbwsdc/shard2/log/shard2.log --fork --nojournal  --oplogSize 10
sudo ./mongodb-linux-x86_64-ubuntu1404-3.2.0/bin/mongod --shardsvr --replSet shard3 --port 22003 --dbpath /data/mongodbwsdc/shard3/data  --logpath /data/mongodbwsdc/shard3/log/shard3.log --fork --nojournal  --oplogSize 10

step 4 [on one server]

> mongo 10.10.2.151:22001
> use admin
> config = { _id:"shard1", members:[{_id:0,host:"10.10.2.151:22001"},{_id:1,host:"10.10.2.152:22001"},{_id:2,host:"10.10.2.159:22001",arbiterOnly:true}]}
> rs.initiate(config);


> mongo 10.10.2.151:22002
> use admin
> config = { _id:"shard2", members:[{_id:0,host:"10.10.2.151:22002"},{_id:1,host:"10.10.2.152:22002"},{_id:2,host:"10.10.2.159:22002",arbiterOnly:true}]}
> rs.initiate(config);


> mongo 10.10.2.151:22003
> use admin
> config = { _id:"shard3", members:[{_id:0,host:"10.10.2.151:22003"},{_id:1,host:"10.10.2.152:22003"},{_id:2,host:"10.10.2.159:22003",arbiterOnly:true}]}
> rs.initiate(config);

step 5 [on one server]

> mongo 10.10.2.151:20000
> use admin
> db.runCommand( { addshard : "shard1/10.10.2.151:22001,10.10.2.152:22001,10.10.2.159:22001"});
> db.runCommand( { addshard : "shard2/10.10.2.151:22002,10.10.2.152:22002,10.10.2.159:22002"});
> db.runCommand( { addshard : "shard3/10.10.2.151:22003,10.10.2.152:22003,10.10.2.159:22003"});
> db.runCommand( { listshards : 1 } );

set which database to use shsarding

> db.runCommand( { enablesharding :"testdb"});
> db.runCommand( { shardcollection : "testdb.table1",key : {id: 1} } )

varify whether succeeded

> use  testdb;
> for (var i = 1; i <= 100000; i++)
> db.table1.save({id:i,"test1":"testval1"});
> db.table1.stats();

Check original post here: http://www.lanceyan.com/tech/arch/mongodb_shard1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值