mongodb3 分片部署手记

简介:机器两台,做了一个分片,一个副本集。个人备记,较为粗糙,请海涵。

 

1、日志文件,数据文件夹创建。

第一台机器,以下简称m1

sudo mkdir /opt/mongodb3/data/dbs/shard27039/ -p

sudo mkdir /opt/mongodb3/data/configs/ -p

 

第二台机器,以下简称m2

同上。

 

 

2m1上开启mongod,无验证模式。

sudo bin/mongod --shardsvr --replSet shard27039 --port 27039 --dbpath /opt/mongodb3/data/dbs/shard27039/ --oplogSize 100 --logpath /opt/mongodb3/data/dbs/shard27039/shard.log --logappend --fork


m1上使用mongo登入shell。执行如下,创建一个副本集:
config={_id:"shard27039",members:[{_id:0, host:"10.163.119.212:27039"}]}
rs.initiate(config);

 

10.163.119.212为本机ip


3、在m1上创建mongd配置服务和mongos路由。


sudo bin/mongod --configsvr --dbpath /opt/mongodb3/data/configs/ --port 20000 --logpath /opt/mongodb3/data/configs/config.log --logappend --fork
sudo bin/mongos --configdb 10.163.119.212:20000 --port 30000 --chunkSize 5 --logpath /opt/mongodb3/data/mongos.log --logappend --fork

4、配置mongos,添加分片。


sudo bin/mongo --shell --host 127.0.0.1 --port 30000
mongos> db.runCommand( { addshard : "shard27039/10.163.119.212:27039",name:"s27039",maxsize:204800} );
{ "shardAdded" : "s27039", "ok" : 1 }

5、在m1mongos上添加超级管理员。

使用mongo进入mongos

use admin;

db.createUser({user:”admin”,pwd:”admin”,roles:[“root”]});
6、重新启动mongod,mongos,开启mongod加密认证模式。

 

bin/mongod --shardsvr --replSet shard27039 --port 27039 --dbpath /opt/mongodb3/data/dbs/shard27039/ --oplogSize 100 --logpath /opt/mongodb3/data/dbs/shard27039/shard.log --logappend --fork --keyFile keyfile
bin/mongod --configsvr --dbpath /opt/mongodb3/data/configs/ --port 20000 --logpath /opt/mongodb3/data/configs/config.log --logappend --fork --keyFile keyfile
bin/mongos --configdb 10.163.119.212:20000 --port 30000 --chunkSize 5 --logpath /opt/mongodb3/data/mongos.log --logappend --fork --keyFile keyfile


7、添加分片数据库,配置分片规则。


mongos> use admin;
switched to db admin
db.runCommand({"enablesharding":"activity_info"});

mongos> use activity_info;
switched to db activity_info
mongos> db.activity_info.ensureIndex({"id":1});

db.activity_info.ensureIndex({"location":"2d"});
db.recommend_list.ensureIndex({"uid":1});

mongos> use admin;
switched to db admin
mongos> db.runCommand({"shardcollection":"activity_info.activity_info","key":{"id":1}})
{ "collectionsharded" : "activity_info.activity_info", "ok" : 1 }
mongos>
mongos>
mongos> db.runCommand({"shardcollection":"activity_info.recommend_list","key":{"uid":1}})
{ "collectionsharded" : "activity_info.recommend_list", "ok" : 1 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值