安装部署MONGODB分片集群
2014-04-10 11:21
1101 查看
3台物理服务器(openstack-instances)
主机 | ip | 端口信息 |
mongo1 | 10.0.1.3 | mongod shard11:27017 mongod config:20000 mongos1:30000 |
mongo2 | 10.0.1.4 | mongod shard12:27017 mongod config:20000 mongos1:30000 |
mongo3 | 10.0.1.5 | mongod shard13:27017 mongod config:20000 mongos1:30000 |
1.创建数据目录
mongo1: mkdir -p /mongodb/data/shard11 mongo2: mkdir -p /mongodb/data/shard12 mongo3: mkdir -p /mongodb/data/shard13 2.配置relica sets
mongo1: # cd /mongodb/mongodb-linux-x86_64-2.4.8/bin # ./mongod –shardsvr –replSet shard1 –port 27017 –dbpath/mongodb/data/shard11 –oplogSize 100 –logpath/mongodb/data/shard11.log –logappend –fork mongo2: # cd /mongodb/mongodb-linux-x86_64-2.4.8/bin # ./mongod –shardsvr –replSet shard1 –port 27017 –dbpath /mongodb/data/shard12 –oplogSize 100 –logpath/mongodb/data/shard12.log –logappend –fork mongo3: # cd /mongodb/mongodb-linux-x86_64-2.4.8/bin # ./mongod –shardsvr –replSet shard1 –port 27017 –dbpath /mongodb/data/shard13 –oplogSize 100 –logpath/mongodb/data/shard13.log –logappend –fork 3.初始化replica set
mongo1: # ./mongo > config = {_id: ’shard1′, members: [{_id: 0, host: '10.0.1.3:27017'},
{_id: 1, host: '10.0.1.4:27017'},
{_id: 2, host: '10.0.1.5:27017'}]
} > rs.initiate(config);
4.配置3台config server
mongo1: # mkdir -p /mongodb/data/config# ./mongod –configsvr –dbpath /mongodb/data/config –port 20000 –logpath /mongodb/data/config.log –logappend –fork ######备注config server也需要dbpath####### mongo2: # mkdir -p /mongodb/data/config
# ./mongod –configsvr –dbpath /mongodb/data/config –port 20000 –logpath /mongodb/data/config.log –logappend –fork mongo3: # mkdir -p /mongodb/data/config # ./mongod –configsvr –dbpath /mongodb/data/config –port 20000 –logpath /mongodb/data/config.log –logappend –fork 5.配置mongos server mongo1: # ./mongos –configdb 10.0.1.3:20000,10.0.1.4:20000,10.0.1.5:20000 –port 30000 –chunkSize 5 –logpath /mongodb/data/mongos.log –logappend –fork ######备注mongs不需要dbpath##### mongo2: # ./mongos –configdb 10.0.1.3:20000,10.0.1.4:20000,10.0.1.5:20000 –port 30000 –chunkSize 5 –logpath /mongodb/data/mongos.log –logappend –fork mongo3: # ./mongos –configdb 10.0.1.3:20000,10.0.1.4:20000,10.0.1.5:20000 –port 30000 –chunkSize 5 –logpath /mongodb/data/mongos.log –logappend –fork 6.配置分片集群 mongo1: # ./mongo 10.0.1.3:30000/admin >db admin 加入shards >db.runCommand( { addshard : “shard1/10.0.1.3:27017,10.0.1.4:27017,10.0.1.5:27017″,name:”s1″,maxsize:20480} ); { "shardAdded" : "s1", "ok" : 1 } 列出shards >db.runCommand( { listshards : 1 } ) 激活数据库分片 > db.runCommand( { enablesharding : “<dbname>” } ); 注:dbname不是现在已存在的数据库; 通过执行以上命令,可以让数据库跨shard,如果不执行这步,数据库只会存放在一个shard,一旦激活数据库分片,数据库中不同的collection将被存放在不同的shard上,但一个collection仍旧存放在同一个shard上,要使单个collection也分片,还需单独对collection作些操作
Collecton分片
要使单个collection也分片存储,需要给collection指定一个分片key,通过以下命令操作:> db.runCommand( { shardcollection : “<namespace>”,key : <shardkeypatternobject> });
注:
a. 分片的collection系统会自动创建一个索引(也可用户提前创建好)
b. 分片的collection只能有一个在分片key上的唯一索引,其它唯一索引不被允许
One note: a sharded collection can have only one unique index, which must exist on the shard key. No other unique indexes can exist on the collection. 本文出自 “西伯利亚·狼” 博客,请务必保留此出处http://kernal.blog.51cto.com/8136890/1540518
相关文章推荐
- Mongodb 集群分片部署
- MongoDB主从 副本集 分片集群安装
- MongoDB之集群安装部署与shard操作
- 安装mongodb副本分片集群
- Mongodb Replica Sets + Sharding 分片集群架构部署
- 在Docker上部署mongodb分片副本集群。
- 部署MongoDB分片集群步骤
- mongodb多节点部署 分片部署 分片集群
- centos7下安装部署mongodb集群(副本集模式)
- MongoDB 3.2.7 for rhel6.4 副本集-分片集群部署
- mongodb分布式集群部署,集群分片策略
- [原创]在Docker上部署mongodb分片副本集群。
- mongoDB研究笔记:分片集群部署
- mongodb集群分片部署实践
- MongoDB在windows平台分片集群部署
- 【Mongodb】 Sharding Replica Sets 分片集群生产环境安装与介绍!
- 安装mongodb集群及分片(所有命令集合)
- 在Docker中安装和部署MongoDB集群
- MongoDB分片集群部署
- 如何部署MongoDB分片集群?