1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問(wèn)題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
      mongo復(fù)制集+分片實(shí)現(xiàn)海量數(shù)據(jù)存儲(chǔ)-創(chuàng)新互聯(lián)

         MongoDB Auto-Sharding 解決了海量存儲(chǔ)和動(dòng)態(tài)擴(kuò)容的問(wèn)題,但離實(shí)際生產(chǎn)環(huán)境所需的高可

      創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),連江企業(yè)網(wǎng)站建設(shè),連江品牌網(wǎng)站建設(shè),網(wǎng)站定制,連江網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,連江網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

      靠、高可用還有些距離,所以有了” Replica Sets + Sharding”的解決方案:

           Shard:

           使用 Replica Sets,確保每個(gè)數(shù)據(jù)節(jié)點(diǎn)都具有備份、自動(dòng)容錯(cuò)轉(zhuǎn)移、自動(dòng)恢復(fù)能力。

           Config:

           使用3 個(gè)配置服務(wù)器,確保元數(shù)據(jù)完整性

           Route:

           使用3 個(gè)路由進(jìn)程,實(shí)現(xiàn)負(fù)載平衡,提高客戶端接入性能

      基本結(jié)構(gòu)如下:

       主機(jī)   IP     服務(wù)及端口

      ServerA

      192.168.10.150

        mongod shard1_1:27017

        mongod shard2_1:27018

        mongod config1:20000

        mongs1:30000

      ServerB

      192.168.10.151

        mongod shard1_2:27017

        mongod shard2_2:27018

        mongod config2:20000

        mongs2:30000

      ServerC

      192.168.10.154

        mongod shard1_3:27017

        mongod shard2_3:27018

        mongod config3:20000

        mongs3:30000

      創(chuàng)建數(shù)據(jù)目錄

      serverA:

      mkdir -p /data/shardset/{shard1_1,shard2_1,config}/

      serverB:

      mkdir -p /data/shardset/{shard1_2,shard2_2,config}/

      serverC

      mkdir -p /data/shardset/{shard1_3,shard2_3,config}/

      配置復(fù)制集

      配置shard1所用到的Replica Sets

      serverA:

      mongod --shardsvr --replSet shard1 --port 27017 --dbpath /data/shardset/shard1_1 --logpath /data/shardset/shard1_1/shard1_1.log --logappend --fork

      serverB:

      mongod --shardsvr --replSet shard1 --port 27017 --dbpath /data/shardset/shard1_2 --logpath /data/shardset/shard1_2/shard1_2.log --logappend --fork

      serverC:

      mongod --shardsvr --replSet shard1 --port 27017 --dbpath /data/shardset/shard1_3 --logpath /data/shardset/shard1_3/shard1_3.log --logappend --fork

      用mongo 連接其中一臺(tái)機(jī)器的27017 端口的mongod,初始化Replica Sets“shard1”,執(zhí)行:

      [root@template ~]# mongo --port 27017

      MongoDB shell version: 2.6.0

      connecting to: 127.0.0.1:27017/test

      >config = {_id: 'shard1', members: [ {_id: 0, host: '192.168.10.150:27017'},{_id: 1, host: '192.168.10.151:27017'},{_id: 2, host: '192.168.10.154:27017'}]}

      {

          "_id" : "shard1",

          "members" : [

              {

                  "_id" : 0,

                  "host" : "192.168.10.150:27017"

              },

              {

                  "_id" : 1,

                  "host" : "192.168.10.151:27017"

              },

              {

                  "_id" : 2,

                  "host" : "192.168.10.154:27017"

              }

          ]

      }

      > rs.initiate(config)

      {

          "info" : "Config now saved locally. Should come online in about a minute.",

          "ok" : 1

      }

      配置shard2所用到的Replica Sets

      ServerA:

      mongod --shardsvr --replSet shard2 --port 27018 --dbpath /data/shardset/shard2_1 --logpath /data/shardset/shard2_1/shard2_1.log --logappend --fork

      ServerB:

      mongod --shardsvr --replSet shard2 --port 27018 --dbpath /data/shardset/shard2_2 --logpath /data/shardset/shard2_2/shard2_2.log --logappend --fork

      ServerC:

      mongod --shardsvr --replSet shard2 --port 27018 --dbpath /data/shardset/shard2_3 --logpath /data/shardset/shard2_3/shard2_3.log --logappend --fork

      用mongo 連接其中一臺(tái)機(jī)器的27018 端口的mongod,初始化Replica Sets “shard2”,執(zhí)行:

      [root@template ~]# mongo --port 27018

      MongoDB shell version: 2.6.0

      connecting to: 127.0.0.1:27018/test

      >config = {_id: 'shard2', members: [ {_id: 0, host: '192.168.10.150:27018'},{_id: 1, host: '192.168.10.151:27018'},{_id: 2, host: '192.168.10.154:27018'}]}

      {

          "_id" : "shard2",

          "members" : [

              {

                  "_id" : 0,

                  "host" : "192.168.10.150:27018"

              },

              {

                  "_id" : 1,

                  "host" : "192.168.10.151:27018"

              },

              {

                  "_id" : 2,

                  "host" : "192.168.10.154:27018"

              }

          ]

      }

      >  rs.initiate(config)

      {

          "info" : "Config now saved locally. Should come online in about a minute.",

          "ok" : 1

      }

      配置3 臺(tái)Config Server

      Server ABC上執(zhí)行:

      mongod --configsvr --dbpath /data/shardset/config --port 20000 --logpath/data/shardset/config/config.log --logappend --fork

      配置3 臺(tái)Route Process

      Server ABC上執(zhí)行:

      mongos --configdb 192.168.10.150:20000,192.168.10.151:20000,192.168.10.154:20000 --port 30000 --chunkSize 1 --logpath /data/shardset/mongos.log --logappend --fork

      配置Shard Cluster

      連接到其中一臺(tái)機(jī)器的端口30000 的mongos 進(jìn)程,并切換到admin 數(shù)據(jù)庫(kù)做以下配置:

      [root@template ~]# mongo --port 30000

      MongoDB shell version: 2.6.0

      connecting to: 127.0.0.1:30000/test

      Welcome to the MongoDB shell.

      For interactive help, type "help".

      For more comprehensive documentation, see

          http://docs.mongodb.org/

      Questions? Try the support group

          http://groups.google.com/group/mongodb-user

      mongos>

      mongos> use admin

      switched to db admin

      mongos> db.runCommand({addshard:"shard1/192.168.10.150:27017,192.168.10.151:27017,192.168.10.154:27017"});

      { "shardAdded" : "shard1", "ok" : 1 }

      mongos> db.runCommand({addshard:"shard2/192.168.10.150:27018,192.168.10.151:27018,192.168.10.154:27018"});

      { "shardAdded" : "shard2", "ok" : 1 }

      mongos>

      激活數(shù)據(jù)庫(kù)及集合的分片

      mongos> db.runCommand({ enablesharding:"test" })

      { "ok" : 1 }

      mongos> db.runCommand({ shardcollection: "test.users", key: { _id:1 }})

      { "collectionsharded" : "test.users", "ok" : 1 }

      mongos>

      查看配置

      mongos> use admin

      switched to db admin

      mongos> db.runCommand({listshards: 1})

      {

          "shards" : [

              {

                  "_id" : "shard1",

                  "host" : "shard1/192.168.10.150:27017,192.168.10.151:27017,192.168.10.154:27017"

              },

              {

                  "_id" : "shard2",

                  "host" : "shard2/192.168.10.150:27018,192.168.10.151:27018,192.168.10.154:27018"

              }

          ],

          "ok" : 1

      }

      驗(yàn)證Sharding正常工作

      mongos> use test

      switched to db test

      mongos> for(var i=1;i<=200000;i++) db.users.insert({id:i,addr_1:"Beijing",addr_2:"Shanghai"});

      WriteResult({ "nInserted" : 1 })

      mongos> db.users.stats()

      {

          "sharded" : true,

          "systemFlags" : 1,

          "userFlags" : 1,

          "ns" : "test.users",

          "count" : 200000,

          "numExtents" : 13,

          "size" : 22400000,

          "storageSize" : 33689600,

          "totalIndexSize" : 6908720,

          "indexSizes" : {

              "_id_" : 6908720

          },

          "avgObjSize" : 112,

          "nindexes" : 1,

          "nchunks" : 13,

          "shards" : {

              "shard1" : {

                  "ns" : "test.users",

                  "count" : 147600,

                  "size" : 16531200,

                  "avgObjSize" : 112,

                  "storageSize" : 22507520,

                  "numExtents" : 7,

                  "nindexes" : 1,

                  "lastExtentSize" : 11325440,

                  "paddingFactor" : 1,

                  "systemFlags" : 1,

                  "userFlags" : 1,

                  "totalIndexSize" : 4807488,

                  "indexSizes" : {

                      "_id_" : 4807488

                  },

                  "ok" : 1

              },

              "shard2" : {

                  "ns" : "test.users",

                  "count" : 52400,

                  "size" : 5868800,

                  "avgObjSize" : 112,

                  "storageSize" : 11182080,

                  "numExtents" : 6,

                  "nindexes" : 1,

                  "lastExtentSize" : 8388608,

                  "paddingFactor" : 1,

                  "systemFlags" : 1,

                  "userFlags" : 1,

                  "totalIndexSize" : 2101232,

                  "indexSizes" : {

                      "_id_" : 2101232

                  },

                  "ok" : 1

              }

          },

          "ok" : 1

      }

      ServerA:

      [root@template ~]# mongo --port 27017

      MongoDB shell version: 2.6.0

      connecting to: 127.0.0.1:27017/test

      shard1:PRIMARY> show dbs

      admin (empty)

      local 4.076GB

      test  0.078GB

      shard1:PRIMARY>

      ServerB:

      [root@template ~]# mongo --port 27017

      MongoDB shell version: 2.6.0

      connecting to: 127.0.0.1:27017/test

      shard1:SECONDARY>

      shard1:SECONDARY> show dbs

      admin (empty)

      local 4.076GB

      test  0.078GB

      shard1:SECONDARY>

      默認(rèn)從庫(kù)是不可查詢的,但是執(zhí)行如下語(yǔ)句則可以查詢。

      rs.slaveOk();

      或者

      db.getMongo().setSlaveOk()

      做讀寫(xiě)分離時(shí)上述語(yǔ)句必不可少

      ServerC:

      [root@template ~]# mongo --port 27017

      MongoDB shell version: 2.6.0

      connecting to: 127.0.0.1:27017/test

      shard1:SECONDARY> show dbs

      admin (empty)

      local 4.076GB

      test  0.078GB

      shard1:SECONDARY>

      如果想在線切換主從庫(kù),需要更改優(yōu)先級(jí):

      [root@template ~]# mongo --port 27017

      需要在主庫(kù)中設(shè)置

      conf=rs.conf()

      conf.members[0].priority=2

      conf.members[1].priority=5

      conf.members[2].priority=1

      rs.reconfig(conf)

      查看節(jié)點(diǎn)

      db.status()

      或者

      db.isMaster()

      查看數(shù)據(jù)是否開(kāi)啟分片

      use config

      db.databases.find()

      增加節(jié)點(diǎn)

      db.remove("192.168.10.155:27017")

      刪除節(jié)點(diǎn)

      db.add("192.168.10.154:27017")

      增加仲裁節(jié)點(diǎn)

      rs.addArb("192.168.10.155:27017")

      rs.isMaster()

      "arbiters" : [

              "192.168.10.155:27017"

          ],

      創(chuàng)建用戶

      use admin
      db.createUser(
       {
         user: "adminUserName",
         pwd: "userPassword",
         roles:
         [
           {
             roles: "userAdminAnyDatabase",
             db: "admin"
           }
         ]
       }

      )

      另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


      當(dāng)前題目:mongo復(fù)制集+分片實(shí)現(xiàn)海量數(shù)據(jù)存儲(chǔ)-創(chuàng)新互聯(lián)
      本文網(wǎng)址:http://ef60e0e.cn/article/dcjgsg.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        札达县| 会同县| 钟山县| 乐亭县| 双柏县| 荔波县| 莱西市| 怀化市| 忻城县| 河东区| 林甸县| 遵义县| 宣威市| 依安县| 兴海县| 荔浦县| 浦县| 阳城县| 墨脱县| 罗江县| 阳原县| 嘉黎县| 昂仁县| 东乡族自治县| 洛川县| 巴林左旗| 赣榆县| 泾源县| 高淳县| 徐闻县| 潞城市| 高安市| 吴旗县| 宾阳县| 揭阳市| 易门县| 山阳县| 同德县| 北碚区| 西安市| 康乐县|