[原创]MongoDB_Sharding
2015-10-07 19:14
555 查看
Mongo Sharding: 本示例搭建了三个副本集作为三个分片的sharding集群,其中master,slave,factershi三台同网段的内网主机。前期规划和原理分析省略,可根据具体配置推导出。具体实现步骤如下: 1.master,slave,facter三台机器上都做如下操作: mkdir -p /data/sharding/{mongos,config,shard1,shard2,shard3} cd /data/sharding mkdir -p mongos/{data,logs} mkdir -p config/{data,logs} mkdir -p shard1/{data,logs} mkdir -p shard2/{data,logs} mkdir -p shard3/{data,logs} 2.master,slave,facter三台机器上都做如下操作(启动config server): /data/mongodb/bin/mongod --configsvr --dbpath=/data/sharding/config/data --port 26000 --logpath=/data/sharding/config/logs/config.log --storageEngine=wiredTiger --logappend --fork 3.master,slave,facter三台机器上都做如下操作(启动mongos路由): /data/mongodb/bin/mongos --configdb 10.232.63.71:26000,10.221.216.35:26000,10.232.55.122:26000 --port 25000 --logpath=/data/sharding/mongos/logs/mongos.log --fork --logappend 4.master,slave,facter三台机器上都做如下操作(启动mongod节点): /data/mongodb/bin/mongod --shardsvr --replSet shard1 --port 26001 --dbpath=/data/sharding/shard1/data --logpath=/data/sharding/shard1/logs/shard1.log --fork --storageEngine=wiredTiger --oplogSize 100 --logappend 5.master,slave,facter三台机器上都做如下操作(启动mongod节点): /data/mongodb/bin/mongod --shardsvr --replSet shard2 --port 26002 --dbpath=/data/sharding/shard2/data --logpath=/data/sharding/shard2/logs/shard2.log --fork --storageEngine=wiredTiger --oplogSize 100 --logappend 6.master,slave,facter三台机器上都做如下操作(启动mongod节点): /data/mongodb/bin/mongod --shardsvr --replSet shard3 --port 26003 --dbpath=/data/sharding/shard3/data --logpath=/data/sharding/shard3/logs/shard3.log --fork --storageEngine=wiredTiger --oplogSize 100 --logappend 7.在任一非[arbiterOnly:true]机器上做如下操作(配置副本集shard1): ./mongo --port 26001 use admin config={_id:"shard1",members:[{_id:0,host:"10.232.63.71:26001",arbiterOnly:true},{_id:1,host:"10.221.216.35:26001"},{_id:2,host:"10.232.55.122:26001"}]} rs.initiate(config); 8.在任一非[arbiterOnly:true]机器上做如下操作(配置副本集shard2): ./mongo --port 26002 use admin config={_id:"shard2",members:[{_id:0,host:"10.232.63.71:26002"},{_id:1,host:"10.221.216.35:26002",arbiterOnly:true},{_id:2,host:"10.232.55.122:26002"}]} rs.initiate(config); 9.在任一非[arbiterOnly:true]机器上做如下操作(配置副本集shard3): ./mongo --port 26003 use admin config={_id:"shard3",members:[{_id:0,host:"10.232.63.71:26003"},{_id:1,host:"10.221.216.35:26003"},{_id:2,host:"10.232.55.122:26003",arbiterOnly:true}]} rs.initiate(config); 10.在任意一台机器上做如下操作(配置sharding): ./mongo --port 25000 use admin db.runCommand({addshard:"shard1/10.232.63.71:26001,10.221.216.35:26001,10.232.55.122:26001"}) db.runCommand({addshard:"shard2/10.232.63.71:26002,10.221.216.35:26002,10.232.55.122:26002"}) db.runCommand({addshard:"shard3/10.232.63.71:26003,10.221.216.35:26003,10.232.55.122:26003"}) 11.查看分片情况: db.runCommand({listshards:1}) 12.设置需要分片的库表和分片方式: sh.enableSharding("raw") sh.shardCollection("raw.gizwits_raw", {"did":"hashed"}) 13.注意规划好副本集角色在机器上的分布以及根据实际情况调整分片的参数,如:oplogSize,chunkSize,balancer的时间等参数。 14.--storageEngine=wiredTiger修改存储引擎为wiredTiger,更高效,存储空间更小。--auth开启用户验证。
相关文章推荐
- NoSQL学习二:MongoDB基本管理命令
- NoSQL学习二:MongoDB基本管理命令
- Mongodb开启与关闭
- mongodb操作之mongoose
- mongodb操作之mongoose
- NoSQL学习一:MongoDB下载与安装
- mongoDB高级篇①】聚集运算之group,aggregate
- 【mongoDB高级篇①】聚集运算之group,aggregate
- Mongodb3.1.8和2.X的区别,无意中报错
- mongodb-win32-x86_64-2008plus-ssl-3.1.6-msi版本安装故障
- MongoDB实现LBS功能
- 【mongoDB运维篇④】Shard 分片集群
- mongodb数据迁移的两种方式
- mongodb数据库的备份和恢复
- 编写JS脚本给mongodb添加一列为已有列的相关值
- mongodb 自定义函数—自增长id
- mongodb中的remove和drop的区别
- mongodb查询中的null和存在不存在
- MongoDB学习札记
- MongoDB一些常用操作