MongoDB 高可用集群搭建(3.4)


  一、架構概況
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 [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()

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM