欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

部署MongoDB分片群集-創(chuàng)新互聯(lián)

部署MongoDB分片群集

分片概述

高數(shù)據(jù)量和吞吐量的數(shù)據(jù)庫應(yīng)用會對單機(jī)的性能造成較大的壓力,大的查詢量會將單機(jī)的CPU耗盡,大的數(shù)據(jù)量對單機(jī)的存儲壓力較大,最終會耗盡系統(tǒng)的內(nèi)存而將壓力轉(zhuǎn)移到磁盤IO上。

創(chuàng)新互聯(lián)主營無棣網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP軟件開發(fā),無棣h5微信小程序定制開發(fā)搭建,無棣網(wǎng)站營銷推廣歡迎無棣等地區(qū)企業(yè)咨詢

MongoDB分片是使用多個服務(wù)器儲存數(shù)據(jù)的方法,以支持巨大的數(shù)據(jù)存儲和對數(shù)據(jù)進(jìn)行操作。分片技術(shù)可以滿足MongoDB數(shù)據(jù)量大量增長的需求,當(dāng)一臺MongoDB服務(wù)器不足以存儲海量數(shù)據(jù)或者不足以能提供可接受打讀寫吞吐量時,我們可以通過在多臺服務(wù)器上分割數(shù)據(jù),使得數(shù)據(jù)庫系統(tǒng)能存儲和處理更多的數(shù)據(jù)。

MongoDB分片優(yōu)勢

分片為應(yīng)對吞吐量和大數(shù)據(jù)量提供了方法。

1、使得分片減少了每個分片需要處理的請求數(shù),因此,通過水平擴(kuò)展,群集可以提高自己的存儲容量和吞吐量。比如,當(dāng)插入一條數(shù)據(jù)時,應(yīng)用只需要訪問存儲這條數(shù)據(jù)的分片。

2、使用分片減少了每個分片存儲的數(shù)據(jù)。

如下圖所示,假設(shè)一個collection中有1TB的數(shù)據(jù),通過分片可以將1TB數(shù)據(jù)分片到四個shard中,當(dāng)查詢對應(yīng)數(shù)據(jù)時,就會去對應(yīng)的分片服務(wù)器查詢,可以提高數(shù)據(jù)可用性。

MongoDB分片群集組成

MongoDB分片集群主要有三個主要組件:

1、Shard:分片服務(wù)器,用于存儲實(shí)際的數(shù)據(jù)塊,實(shí)際生產(chǎn)環(huán)境中一個shard server角色可以由幾臺服務(wù)器組成一個復(fù)制集(Replica Set)承擔(dān),防止主機(jī)單點(diǎn)故障。

2、Config Server:配置服務(wù)器,存儲了整個分片群集的配置信息,其中包括chunk信息。

3、Routers:前端路由,客戶端由此接入,且讓整個群集看上去像單一數(shù)據(jù)庫,前端應(yīng)用可以透明使用。
部署MongoDB分片群集

實(shí)驗(yàn)環(huán)境

這里實(shí)驗(yàn)是在同一臺服務(wù)器上搭建MongoDB分片,但是MongoDB3.4以后Shard默認(rèn)都是要搭建MongoDB服務(wù)集,為了方便起見,我們使用的MongoDB版本是3.2的。

組件 端口號
路由實(shí)例27017
配置實(shí)例37017
Shard1實(shí)例47017
Shard2實(shí)例47018

分片群集部署

1、部署配置服務(wù)器

安裝相關(guān)依賴包和解壓軟件到指定目錄中。

[root@localhost ~]# yum install openssl-devel -y   #安裝依賴包
[root@localhost ~]# tar xfvz mongodb-linux-x86_64-3.2.1.tgz -C /opt/
[root@localhost ~]# cd /opt/
[root@localhost opt]# mv mongodb-linux-x86_64-3.2.1/ /usr/local/mongodb
#將軟件包重命名,方便下面使用

將即將創(chuàng)建的實(shí)例所需要的數(shù)據(jù)目錄,日志目錄和日志文件先創(chuàng)建好。

[root@localhost opt]# mkdir -p /data/mongodb/mongodb{1,2,3,4}
#創(chuàng)建實(shí)例的數(shù)據(jù)存儲目錄
[root@localhost opt]# mkdir /data/mongodb/logs
#創(chuàng)建實(shí)例的日志目錄
[root@localhost opt]# touch /data/mongodb/logs/mongodb{1,2,3,4}.log
#創(chuàng)建實(shí)例的日志文件
[root@localhost opt]# chmod -R 777 /data/mongodb/logs/*.log
#修改日志權(quán)限
[root@localhost opt]# ulimit -n 25000
#將可以打開的大進(jìn)程數(shù)修改為25000
[root@localhost opt]# ulimit -u 25000
#將可以打開的大文件數(shù)修改為25000
[root@localhost opt]# sysctl -w vm.zone_reclaim_mode=0
#當(dāng)某個節(jié)點(diǎn)可用內(nèi)存不足時,如果為0的話,那么系統(tǒng)會傾向于從其他節(jié)點(diǎn)分配內(nèi)存。如果為1的話,那么系統(tǒng)會傾向于從本地節(jié)點(diǎn)回收Cache內(nèi)存多數(shù)時候。
[root@localhost opt]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@localhost opt]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
#當(dāng)節(jié)點(diǎn)可用內(nèi)存不足時,選擇關(guān)閉占內(nèi)存多的大頁面
[root@localhost opt]# export PATH=$PATH:/usr/local/mongodb/bin/
#將MongoDB路徑添加到環(huán)境變量中
[root@localhost bin]# vim mongodb1.conf
#創(chuàng)建配置服務(wù)器的配置文件
port=37017
dbpath=/data/mongodb/mongodb1
logpath=/data/mongodb/logs/mongodb1.log
logappend=true
fork=true
maxConns=5000
storageEngine=mmapv1
configsvr=true   #設(shè)置為配置服務(wù)器
[root@localhost mongodb]# mongod -f /usr/local/mongodb/bin/mongodb1.conf 
#啟動配置服務(wù)器進(jìn)程

部署MongoDB分片群集

2、配置分片服務(wù)器

編輯mongodb2.conf配置文件,端口為47017,設(shè)置為shardsvr=true,同樣編輯mongodb3.conf,端口為47018,shardsvr=true,然后同時啟動。

[root@localhost mongodb]# cd /usr/local/mongodb/bin/
[root@localhost bin]# cp -p mongodb1.conf mongodb2.conf 
[root@localhost bin]# vim mongodb2.conf 
port=47017      #設(shè)置端口
dbpath=/data/mongodb/mongodb2    #數(shù)據(jù)存儲目錄要修改
logpath=/data/mongodb/logs/mongodb2.log    #日志文件也要修改
logappend=true
fork=true
maxConns=5000
storageEngine=mmapv1
shardsvr=true   #設(shè)置為分片服務(wù)器

[root@localhost bin]# cp -p mongodb2.conf mongodb3.conf 
[root@localhost bin]# vim mongodb3.conf 
port=47018     #設(shè)置端口
dbpath=/data/mongodb/mongodb3     #數(shù)據(jù)存儲目錄要修改
logpath=/data/mongodb/logs/mongodb3.log     #日志文件也要修改
logappend=true
fork=true
maxConns=5000
storageEngine=mmapv1
shardsvr=true

都修改完后,將兩個分片服務(wù)器啟動。
部署MongoDB分片群集

3、啟動路由服務(wù)器
[root@localhost bin]# ./mongos --port 27017 --fork --logpath=/usr/local/mongodb/bin/route.log --configdb 192.168.58.131:37017 --chunkSize 1
#這條命令意思就是凡事訪問mongodb 27017端口的,都會轉(zhuǎn)到 192.168.58.131:37017上面
[root@localhost bin]# ./mongos --port 27017 --fork --logpath=/usr/local/mongodb/bin/route.log --configdb 192.168.58.131:37017 --chunkSize 1
2018-07-17T17:20:58.990+0800 W SHARDING [main] Running a sharded cluster with fewer than 3 config servers should only be done for testing purposes and is not recommended for production.
about to fork child process, waiting until server is ready for connections.
forked process: 6430
child process started successfully, parent exiting

部署MongoDB分片群集

[root@localhost ~]# mongo
MongoDB shell version: 3.2.1
connecting to: test
Server has startup warnings: 
2018-07-17T17:20:59.120+0800 I CONTROL  [main] ** WARNING: You are running this process as the root user, which is not recommended.
2018-07-17T17:20:59.120+0800 I CONTROL  [main] 
mongos> sh.status()
--- Sharding Status --- 
  sharding version: {
    "_id" : 1,
    "minCompatibleVersion" : 5,
    "currentVersion" : 6,
    "clusterId" : ObjectId("5b4db4fdf19287c74d1a4081")
}
  shards:
  active mongoses:
    "3.2.1" : 1
  balancer:
    Currently enabled:  yes
    Currently running:  no
    Failed balancer rounds in last 5 attempts:  0
    Migration Results for the last 24 hours: 
        No recent migrations
  databases:
#可以看到shards下面為空,所以我們需要將兩個分片服務(wù)器添加進(jìn)去

部署MongoDB分片群集

mongos> sh.addShard("192.168.58.131:47017")
#將47017端口的分片服務(wù)器添加進(jìn)去
{ "shardAdded" : "shard0000", "ok" : 1 }

mongos> sh.addShard("192.168.58.131:47018")
#將47018端口的分片服務(wù)器添加進(jìn)去
{ "shardAdded" : "shard0001", "ok" : 1 }

部署MongoDB分片群集
進(jìn)行測試,查看是否能夠進(jìn)行分片功能,我們創(chuàng)建一個collection,在里面插入50000條數(shù)據(jù)。

mongos> use test
switched to db test
mongos> for(var i=1;i<=50000;i++) db.users.insert({"id":i,"name":"tom"+i})
#利用for循環(huán)往collection中插入50000條數(shù)據(jù)
mongos> db.users.find().limit(10)
#查看collection中的前10條數(shù)據(jù),表示插入成功。

部署MongoDB分片群集

mongos> sh.status()
--- Sharding Status --- 
  sharding version: {
    "_id" : 1,
    "minCompatibleVersion" : 5,
    "currentVersion" : 6,
    "clusterId" : ObjectId("5b4db4fdf19287c74d1a4081")
}
  shards:
    {  "_id" : "shard0000",  "host" : "192.168.58.131:47017" }
    {  "_id" : "shard0001",  "host" : "192.168.58.131:47018" }
  active mongoses:
    "3.2.1" : 1
  balancer:
    Currently enabled:  yes
    Currently running:  no
    Failed balancer rounds in last 5 attempts:  0
    Migration Results for the last 24 hours: 
        No recent migrations
  databases:
    {  "_id" : "test",  "primary" : "shard0000",  "partitioned" : false }
#可以看到partitioned:false,說明并沒有進(jìn)行分片。
mongos> sh.enableSharding("test")
{ "ok" : 1 }
#啟用分片功能
mongos> sh.status()
{  "_id" : "test",  "primary" : "shard0000",  "partitioned" : true }
mongos> db.users.createIndex({"id":1})
{
    "raw" : {
        "192.168.58.131:47017" : {
            "createdCollectionAutomatically" : false,
            "numIndexesBefore" : 1,
            "numIndexesAfter" : 2,
            "ok" : 1
        }
    },
    "ok" : 1
}
#創(chuàng)建索引,方便分片
mongos> sh.shardCollection("test.users",{"id":1})
{ "collectionsharded" : "test.users", "ok" : 1 }
#執(zhí)行分片,可以看到分片成功1-20165,寫入到shard0001中,20166-50000寫入到shard0000中

部署MongoDB分片群集
部署MongoDB分片群集
部署MongoDB分片群集

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

標(biāo)題名稱:部署MongoDB分片群集-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://aaarwkj.com/article16/hoegg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣網(wǎng)站建設(shè)、建站公司、App開發(fā)、用戶體驗(yàn)網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
欧美午夜视频一区二区福利| 免费日本高清色噜噜视频| 亚洲精品色婷婷一区二区| 国产精品色网在线播放| 久久国产精品欧美熟妇| 国产av剧情免费在线观看| 国产精品专区日产一区| 日韩一级免费高清黄片| 变态另类欧美国产在线| 开心五月婷婷六月丁香| 欧美一区二区三区东京热| 国产毛片精品一区内射| 欧美日韩欧美黄色三级| 欧美夫妻成人性生活视频| 亚洲av天堂在线观看| 亚洲免费av一区在线观看| 日韩精品免费一区二区三区| 人妻黄色这里只有精品| 欧美生活一区二区三区| av全欧国男人在线天堂| 午夜福利日本一区二区| 日本一区二区三区在线观看视频| 国产欧美日韩国产欧美日| 亚洲第一精品国产日韩| 日韩人妻中文字幕乱码一区| 日韩av裸体在线播放| 关于男女性生活的视频| 亚洲福利一区二区在线| 国产精品成人大片在线播放| 乱码人妻精品一区二区三区| 亚洲国产精品久久久精品| 日韩天堂视频在线播放| 天天做日日干夜夜操| 国产亚洲无线码一区二区| 欧美日韩三级性生活水平| 日韩欧美亚洲另类激情一区| 五月婷婷六月丁香伊人妞| 精品亚洲一区二区在线| 欧美日韩一区二区三区大片| 亚洲国产不卡一区二区三区| 中文字幕免费日本在线|