MongoDB集群分片部署指南

来源:互联网 发布:js二维数组赋值 编辑:程序博客网 时间:2024/05/18 09:16

 

 角色

 服务器1

服务器2 

 服务器3

 

路由服务器Mongos

10.0.0.201:30000

10.0.0.202:30000

10.0.0.203:30000

 

配置服务器Mongod

10.0.0.201:20000

10.0.0.202:20000

10.0.0.203:20000

 

Shard1, Replica Sets

10.0.0.201:27017

10.0.0.202: 27017

10.0.0.203: 27017

 

Shard2, Replica Sets

10.0.0.201:27018

10.0.0.202: 27018

10.0.0.203: 27018

 

 

 

下载软件包

curl -Ohttp://downloads.mongodb.org/linux/mongodb-linux-x86_64-3.0.3.tgz

解压缩

 

/usr/local/mongodb

 

201操作

mkdir –p ./data/shard1_1

mkdir –p ./data/shard2_1

mkdir –p ./data/config

 

202操作

mkdir –p ./data/shard1_2

mkdir –p ./data/shard2_2

mkdir –p ./data/config

 

203操作

mkdir –p ./data/shard1_3

mkdir –p ./data/shard2_3

mkdir –p ./data/config

 

配置分片1的复本集

201

bin/mongod--shardsvr --replSet shard1 --port 27017 --dbpath ./data/shard1_1 --logpath ./data/shard1_1/shard1.log --logappend --fork

 

202

bin/mongod--shardsvr --replSet shard1 --port 27017 --dbpath ./data/shard1_2 --logpath ./data/shard1_2/shard1.log --logappend --fork

 

 

203

bin/mongod--shardsvr --replSet shard1 --port 27017 --dbpath ./data/shard1_3 --logpath ./data/shard1_3/shard1.log --logappend --fork

 

config = {_id:'shard1', members:[ {_id:0,host:'10.0.0.201:27017'},{_id:1, host:'10.0.0.202:27017'}, {_id:2,host:'10.0.0.203:27017'}]}

rs.initiate(config)


配置分片2的复本集

201

bin/mongod--shardsvr --replSet shard2 --port 27018 --dbpath ./data/shard2_1 --logpath ./data/shard2_1/shard2.log --logappend --fork

 

202

bin/mongod--shardsvr --replSet shard2 --port 27018 --dbpath ./data/shard2_2 --logpath ./data/shard2_2/shard2.log --logappend --fork

 

 

203

bin/mongod--shardsvr --replSet shard2 --port 27018 --dbpath ./data/shard2_3 --logpath ./data/shard2_3/shard2.log --logappend --fork

 

 

config = {_id:'shard2', members:[ {_id:0,host:'10.0.0.201:27018'},{_id:1, host:'10.0.0.202:27018'}, {_id:2, host:'10.0.0.203:27018'}]}

rs.initiate(config)

 

配置Config服务器

在3台服务器运行以下命令

bin/mongod--configsvr --dbpath ./data/config --port 20000 --logpath ./data/config/config.log--logappend --fork

 

配置路由服务器

在3台服务器运行以下命令

bin/mongos--configdb 10.0.0.201:20000,10.0.0.202:20000,10.0.0.203:20000 --port 30000--chunkSize 1--logpath ./data/mongos.log --logappend --fork

 

配置分片

bin/mongo --port 30000

use admin

db.runCommand({addshard:"shard1/10.0.0.201:27017,10.0.0.202:27017,10.0.0.203:27017"});

db.runCommand({addshard:"shard2/10.0.0.201:27018,10.0.0.202:27018,10.0.0.203:27018"});

 

 激活test库上的分片功能

db.runCommand({enablesharding:"test"});

 

激活users表的分片功能

db.runCommand({shardcollection:"test.users",key:{_id:1}});

测试分片

bin/mongo –port 30000

use test

 

停止mongos, mongo config, mongod

use admin

db.shutdownServer()

 

0 0
原创粉丝点击