MONGODB高可用Repl Set+Sharding配置

     此次配置基于测试环境,话不多说,直接上干货。

步骤:

1、创建目录
数据目录
mkdir -p /mongodata/shard1_1 分片1副本集1数据目录
mkdir -p /mongodata/shard1_2 分片1副本集2数据目录
mkdir -p /mongodata/shard1_3 分片1副本集3数据目录
mkdir -p /mongodata/shard2_1 分片2副本集1数据目录
mkdir -p /mongodata/shard2_2 分片2副本集2数据目录
mkdir -p /mongodata/shard2_3 分片2副本集3数据目录
三个配置服务器目录
mkdir -p /mongodata/config/rep_1   配置服务器1数据目录
mkdir -p /mongodata/config/rep_2   配置服务器1数据目录
mkdir -p /mongodata/config/rep_3   配置服务器1数据目录
所有日志文件目录
mkdir -p /mongodata/log


2、配置Repl Set
nohup mongod --shardsvr --replSet shard1 --dbpath /mongodata/shard1_1 --port 11111 --logpath /mongodata/log/mongod1_1.log --logappend &
nohup mongod --shardsvr --replSet shard1 --dbpath /mongodata/shard1_2 --port 22222 --logpath /mongodata/log/mongod1_2.log --logappend &
nohup mongod --shardsvr --replSet shard1 --dbpath /mongodata/shard1_3 --port 33333 --logpath /mongodata/log/mongod1_3.log --logappend &
nohup mongod --shardsvr --replSet shard2 --dbpath /mongodata/shard2_1 --port 44444 --logpath /mongodata/log/mongod2_1.log --logappend &
nohup mongod --shardsvr --replSet shard2 --dbpath /mongodata/shard2_2 --port 55555 --logpath /mongodata/log/mongod2_2.log --logappend &
nohup mongod --shardsvr --replSet shard2 --dbpath /mongodata/shard2_3 --port 60000 --logpath /mongodata/log/mongod2_3.log --logappend &


登录mongo --port 11111
config={_id:'shard1',members:[{_id:0,host:'127.0.0.1:11111'},{_id:1,host:'127.0.0.1:22222'},{_id:2,host:'127.0.0.1:33333'}]};
rs.initiate(config);

rs.status();




登录 mongo --port 44444
config={_id:'shard2',members:[{_id:0,host:'127.0.0.1:44444'},{_id:1,host:'127.0.0.1:55555'},{_id:2,host:'127.0.0.1:60000'}]};
rs.initiate(config);

rs.status();




3、配置config server
nohup mongod --configsvr --dbpath /mongodata/config/rep_1 --port 20000 --logpath /mongodata/log/config1.log --logappend &
nohup mongod --configsvr --dbpath /mongodata/config/rep_2 --port 30000 --logpath /mongodata/log/config2.log --logappend &
nohup mongod --configsvr --dbpath /mongodata/config/rep_3 --port 40000 --logpath /mongodata/log/config3.log --logappend &


4、配置 sharding server(route process)
nohup mongos --configdb 127.0.0.1:20000,127.0.0.1:30000,127.0.0.1:40000 --port 50000 --chunkSize 2 --logpath /mongodata/log/mongos.log --logappend &


5、配置sharding cluster
mongo --port 50000 
use admin;
sh.addShard("shanrd1/127.0.0.1:11111");
sh.addShard("shanrd2/127.0.0.1:44444");
sh.status();




6、激活分片

本测试采用test库,test表
db.runCommand({enablesharding:"test"});
db.runCommand({shardCollection:"test.test",key:{"_id":1}});


7、验证sharding
use test;
 for(var i=1; i<=20000; i++){
db.test.insert({_id:i,name:"test",age:i,uid:i+1});}--插入20000行数据
db.test.stats();





8、命令
printShardingStatus(db.getSisterDB("config"),1);查看分片状态具体信息db.printShardingStatus()
db.runCommand(shardlists:1);查看分片信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值