一、架构概况
192.168.56.101
192.168.56.102
192.168.56.103
OS为centos 7.2
架构图:
规划5个组件对应的端口号,由于每台机器均需要同时部署 mongos、config server 、shard1、shard2、shard3,所以需要用端口进行区分。
端口可以自由定义,本架构中 mongos为 20000, config server 为 21000, shard1为 22001 , shard2为22002, shard3为22003.
二、创建相应的目录
#建立mongos及日志目录 mkdir -p /data/mongodb/mongos/log #建立config server 数据文件存放目录 mkdir -p /data/mongodb/config/data #建立config server 日志文件存放目录 mkdir -p /data/mongodb/config/log #建立shard1 数据文件存放目录 mkdir -p /data/mongodb/shard1/data #建立shard1 日志文件存放目录 mkdir -p /data/mongodb/shard1/log #建立shard2 数据文件存放目录 mkdir -p /data/mongodb/shard2/data #建立shard2 日志文件存放目录 mkdir -p /data/mongodb/shard2/log #建立shard3 数据文件存放目录 mkdir -p /data/mongodb/shard3/data #建立shard3 日志文件存放目录 mkdir -p /data/mongodb/shard3/log
三、Config server配置
cd /data/mongodb/config [[email protected] config1]$ vi mongo.conf dbpath=/data/mongodb/config/data/ logpath=/data/mongodb/config/log/config.log logappend=true port=21000 fork=true rest=true httpinterface=true configsvr=true replSet=cfgReplSet /app/mongo/bin/mongod -f /data/mongodb/config/mongo.conf 连接到任意一台配置服务器上 /app/mongo/bin/mongo --host 192.168.56.101 --port 21000 创建配置服务器副本集 rs.initiate({_id:"cfgReplSet",configsvr:true,members:[{_id:0,host:"192.168.56.101:21000"},{_id:1,host:"192.168.56.102:21000"},{_id:2,host:"192.168.56.103:21000"}]})
四、Shard server配置
cd /data/mongodb/shard1 [[email protected] share_rs1]$ vi mongo.conf dbpath=/data/mongodb/shard1/data logpath=/data/mongodb/shard1/log/shard1.log logappend=true port=22001 fork=true rest=true httpinterface=true replSet=shard1ReplSet shardsvr=true /app/mongo/bin/mongod -f /data/mongodb/shard1/mongo.conf --nojournal 连接任意一台分片服务器 /app/mongo/bin/mongo --host 192.168.56.101 --port 22001 创建副本集并初始化 rs.initiate({_id:"shard1ReplSet",members:[{_id:0,host:"192.168.56.101:22001"},{_id:1,host:"192.168.56.102:22001"},{_id:2,host:"192.168.56.103:22001"}]})
以相同的方式配置Shard server 2,Shard server 3
五、Mongos配置
cd /data/mongodb/mongos [[email protected] mongs1]$ vi mongo.conf logpath=/data/mongodb/mongos/log/mongos.log logappend=true port=20000 fork=true configdb=cfgReplSet/192.168.56.101:21000,192.168.56.102:21000,192.168.56.103:21000 /app/mongo/bin/mongos -f /data/mongodb/mongos/mongo.conf
六、添加分片到集群
登录路由服务客户端 /app/mongo/bin/mongo --host 192.168.56.101 --port 20000 添加分片到集群 sh.addShard("shard1ReplSet/192.168.56.101:22001,192.168.56.102:22001,192.168.56.103:22001") 依次添加shard2 shard3 sh.addShard("shard2ReplSet/192.168.56.101:22002,192.168.56.102:22002,192.168.56.103:22002") sh.addShard("shard3ReplSet/192.168.56.101:22003,192.168.56.102:22003,192.168.56.103:22003") --Enable Sharding for a Database sh.enableSharding("test") --Shard a Collection sh.shardCollection("test.testdoc", { id: 1})
七、测试
/app/mongo/bin/mongo --host 192.168.56.102 --port 20000 插入测试数据 mongos> use test for(var i = 1; i <= 100000; i++){ db.testdoc.save({id:i,"message":"message"+i}); } mongos> db.testdoc.status()
时间: 2024-09-29 01:15:38