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开启用户验证。

最新文章

  1. fzu1342
  2. Ruby学习心得之 Linux下搭建Ruby环境
  3. HDU2102 A计划
  4. IAR EWARM PRINTF/SCANF FORMATTER
  5. 【rest】 深入理解rest
  6. 【转】Nginx系列(五)--nginx+tomcat实现负载均衡
  7. 14_Xml继承
  8. SLC和MLC闪存芯片的区别
  9. Javascript多线程引擎(七)
  10. cc2530 T3定时器控制引脚P1_1的亮灭
  11. jQuery与CheckBox的值一致就选中
  12. CSAPP-过程调用,数据存储,缓冲区溢出
  13. matlab画图命令笔记
  14. 终端复用软件 tmux
  15. wordpress文章页两侧添加分页导航箭头
  16. Cpu 常见系列以及型号
  17. 01JAVA语言基础课后作业
  18. Android百大框架排行榜
  19. 安装mysql警告 warning: mysql-community-server-5.7.19-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
  20. java的MVC与C#

热门文章

  1. ARM中断处理过程
  2. 《Python自然语言处理》第一章-练习17
  3. ABCD多选正则表达式
  4. css伪类的组合用法
  5. 实现TOLock过程中的一处多线程bug
  6. List<String> 和 ArrayList<String>的区别
  7. 比较Java中几个常用集合添加元素的效率
  8. bzoj1898 [Zjoi2005]沼泽鳄鱼
  9. java.util.prefs.Preferences
  10. js与juery基础知识对比(一)---2017-05-06