mongodb分布群集

來源:互聯網
上載者:User

標籤:RoCE   設定   storage   資料檔案   效能   engine   ref   磁碟io   href   

簡介:大資料量和輸送量的資料庫會對單機的效能 造成較大壓力,大量的資料查詢會將單機的CPU耗盡,大的資料量對單機的儲存壓力較大,最終會耗盡系統的記憶體,將壓力轉移到磁碟IO上。- 優點:1.使用分區減少了每個分區需要處理的請求數。2.使用分區減少了每個分區儲存的資料。- mongodb分區群集的組成:shard(分區伺服器),config server(設定管理員),route(路由伺服器)- 分區伺服器:儲存資料- 設定管理員:管理分區伺服器- 路由伺服器:作為前端路由-------------------------------------------------------------------------------------- 安裝mongodb3.2: 安裝openssl-devel並解壓到/opt下 便於管理mongo和mongod,做個連結```yum install openssl-devel -ytar zxvf mongodb-linux-x86_64-3.2.1.tgz -C /opt/mv mongodb-linux-x86_64-3.2.1/ /usr/local/mongodbln -s /usr/local/mongodb/bin/mongo /usr/bin/mongoln -s /usr/local/mongodb/bin/mongod /usr/bin/mongod```- 建立四個執行個體的資料檔案和記錄檔```mkdir -p /data/mongodb/mongodb{1,2,3,4}mkdir /data/mongodb/logstouch /data/mongodb/logs/mongodb{1,2,3,4}.logchmod -R 777 /data/mongodb/logs/*.log
```
- 設定ulimit -u和ulimit -n的值大於20000```ulimit -n 25000ulimit -u 25000```
--------------------------------------------------------------------------------- 設定管理員```cd /usr/local/mongodb/bin/ //在bin目錄下vim mongodb1.confport=37017          //添加如下內容dbpath=/data/mongodb/mongodb1logpath=/data/mongodb/logs/mongodb1.loglogappend=truefork=truemaxConns=5000storageEngine=mmapv1configsvr=true
mongod -f /usr/local/mongodb/bin/mongodb1.conf  //啟動服務sysctl -w vm.zone_reclaim_mode=0echo never > /sys/kernel/mm/transparent_hugepage/enabledecho never > /sys/kernel/mm/transparent_hugepage/defrag//某節點記憶體不足時,從其他節點分配記憶體```
------------------------------------------------------------------------------ 分區伺服器```#mongodb2.confcp -p mongodb1.conf mongodb2.confvim mongodb2.conf    //對mongodb2.conf進行配置port=47017    //連接埠號碼為47017dbpath=/data/mongodb/mongodb2  //資料檔案logpath=/data/mongodb/logs/mongodb2.log  //記錄檔logappend=truefork=truemaxConns=5000storageEngine=mmapv1shardsvr=true#mongodb3.confcp -p mongodb1.conf mongodb3.confvim mongodb3.confport=47018   //連接埠為47018dbpath=/data/mongodb/mongodb3logpath=/data/mongodb/logs/mongodb3.loglogappend=truefork=truemaxConns=5000storageEngine=mmapv1shardsvr=true#開啟兩個服務mongod -f mongodb2.confmongod -f mongodb3.conf```
--------------------------------------------------------------------------- 啟動路由伺服器 ```./mongos --port 27017 --fork --logpath=/usr/local/mongodb/bin/route.log --configdb 192.168.235.204:37017 --chunkSize 1   //必須在/usr/local/mongodb/bin下```

--------------------------------------------------------------------------- 啟用分區伺服器```mongomongos> show dbsmongos> sh.status()  //shards下為空白,沒有分區伺服器mongos> sh.addShard("192.168.177.133:47017") //添加47017連接埠的分區伺服器mongos> sh.addShard("192.168.177.133:47018")  //添加47018連接埠的分區伺服器mongos> sh.status()```

--------------------------------------------------------------------------
- 分區功能先添加一個資料庫,在集合裡建立資料
```mongos> sh.enableSharding("school")   #啟用資料庫分區

mongos> db.info.createIndex({"id":1})   #對info表建立索引
mongos> sh.shardCollection("school.info",{"id":1})  #表分區
mongos> sh.status()
```

mongodb分布群集

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.