当前位置:Gxlcms > 数据库问题 > MongoDB 高可用集群搭建(3.4)

MongoDB 高可用集群搭建(3.4)

时间:2021-07-01 10:21:17 帮助过:20人阅读

技术分享

       规划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
[mongo@mongo 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
[mongo@mongo 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
[mongo@mongo 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()

 

 

MongoDB 高可用集群搭建(3.4)

标签:res   fork   分享   测试数据   技术分享   gdb   插入   bpa   var   

人气教程排行