亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MongoDB > 正文

詳解MongoDB4.0構建分布式分片群集

2020-03-14 12:50:04
字體:
來源:轉載
供稿:網友

MongoDB分片簡述

高數據量和吞吐量的數據庫應用會對單機的性能造成較大壓力,大的查詢量會將單機的 CPU 耗盡,大的數據量對單機的存儲壓力較大,最終會耗盡系統的內存而將壓力轉移到磁盤 IO 上。

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

MongoDB分片優勢

分片為應對高吞吐量與大數據量提供了方法:

  1. 使用分片減少了每個分片需要處理的請求數,因此,通過水平擴展,群集可以提高自己的存儲容量。比如,當插入一條數據時,應用只需要訪問存儲這條數據的分片。
  2. 使用分片減少了每個分片村存儲的數據。

分片的優勢在于提供類似線性增長的架構,提高數據可用性,提高大型數據庫查詢服務器的性能。當MongoDB單點數據庫服務器存儲成為瓶頸、單點數據庫服務器的性能成為瓶頸或需要部署大型應用以充分利用內存時,可以使用分片技術。

MongoDB分片群集的組成

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

  • Shard:分片服務器,用于存儲實際的數據塊,實際生產環境中一個shard server 角色可以由幾臺服務器組成一個Peplica Set 承擔,防止主機單點故障。
  • Config Server:配置服務器,存儲了整個分片群集的配置信息,其中包括chunk信息。
  • Routers:前端路由,客戶端由此接入,且讓整個群集看上去像單一數據庫,前端應用可以透明使用。

系統環境

系統:CentOS 7.4 x86_64

軟件版本:4.0

關閉防火墻及selinux

 

IP地址 路由服務器(Routers) 配置服務器(Config Server) Shard1 Shard2 Shard3
192.168.125.119 27017 27018 27001 27002 27003
192.168.125.120 27017 27018 27001 27002 27003
192.168.125.121 27017 27018 27001 27002 27003

 

部署分片群集

三臺物理服務器安裝及配置

1、下載解壓MongoDB

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.0.tgztar zxvf mongodb-linux-x86_64-4.0.0.tgz -C /optmv /opt/mongodb-linux-x86_64-4.0.0/ /usr/local/mongodb

2、創建路由、配置、分片服務器的數據存放目錄及日志管理

路由服務器不存儲數據,因此不需要創建數據存儲目錄,日志文件創建完成還需給予權限。

mkdir -p /data/mongodb/configmkdir -p /data/mongodb/shard{1,2,3}mkdir -p /data/mongodb/logstouch /data/mongodb/logs/shard{1,2,3}.logtouch /data/mongodb/logs/mongos.logtouch /data/mongodb/logs/config.logchmod 777 /data/mongodb/logs/*.log

3、創建管理用戶,修改目錄權限

useradd -M -s /sbin/nologin mongochown -R mongo:mongo /usr/local/mongodbchown -R mongo:mongo /data/mongodb

4、添加環境變量,便于使用

echo 'export MONGODB_HOME=/usr/local/mongodb' >> /etc/profileecho 'export PATH=$PATH:$MONGODB_HOME/bin' >> /etc/profilesource /etc/profile

5、系統參數優化

ulimit -n 25000  //可以打開的最大文件數量ulimit -u 25000  //用戶最大可用的進程數sysctl -w vm.zone_reclaim_mode=0 //內存不足時,從其他節點分配內存# 從CentOS7開始,MongoDB會建議關閉系統的THP特性,否則可能會導致性能下降echo never > /sys/kernel/mm/transparent_hugepage/enabledecho never > /sys/kernel/mm/transparent_hugepage/defrag //*注意*這些優化都是臨時的,重啟失效

部署配置服務器(三臺物理服務器配置步驟相同)

1、寫入配置文件,我們可以用scp命令把配置文件發到其他兩臺物理服務器

# vim config.confdbpath=/data/mongodb/config //數據文件存放位置logpath=/data/logs/config.log  //日志文件port=27018  //端口號logappend=truefork=truemaxConns=5000 storageEngine=mmapv1replSet=configs //復制集名稱configsvr=true  //設置參數為true# mongod -f config.conf //啟動config實例scp /usr/local/mongodb/bin/config.conf root@192.168.125.120:/usr/local/mongodb/binscp /usr/local/mongodb/bin/config.conf root@192.168.125.121:/usr/local/mongodb/bin

2、配置復制集(任意一臺物理機上操作即可)

mongo --port 27018config={_id:"configs",members:[{_id:0,host:"192.168.125.119:27018"},{_id:1,host:"192.168.125.120:27018"},{_id:2,host:"192.168.125.121:27018"}]}  //創建復制集rs.initiate(config)        //初始化復制集

部署分片服務器

編輯shard{1,2,3}.conf配置文件,端口分別為27001,27002,27003,設置shardsvr=true,啟動分片服務器

# vim shard1.confdbpath=/data/mongodb/shard1logpath=/data/logs/shard1.logport=27001logappend=truefork=truemaxConns=5000 storageEngine=mmapv1shardsvr=true# mongod -f shard1.conf# 與另外兩臺配置實例配置文件相同,僅端口、數據文件存放及日志文件要改,只需配置完成后啟動即可

將shard1配置為復制集(這里需要注意的是,預先被設為仲裁節點的服務器上創建復制集會報錯。)

mongo --port 27001use adminconfig={_id:"shard1",members:[{_id:0,host:"192.168.125.119:27001"},{_id:1,host:"192.168.125.120:27001"},{_id:2,host:"192.168.125.121:27001"}]}  //創建復制集rs.initiate(config)        //初始化復制集

其余兩臺分片服務器shard2、shard3設置相同,注意端口及仲裁節點的問題即可

部署路由服務器

創建配置文件,將配置文件發送到其他物理服務器。注意,路由服務器不需要存儲數據目錄

# vim mongos.conflogpath=/data/mongodb/logs/mongos.loglogappend = trueport = 27017fork = trueconfigdb = configs/192.168.125.119:27018,192.168.125.120:27018,192.168.125.121:27018maxConns=20000

啟動mongos實例

mongs -f /usr/local/mongodb/bin/mongos.conf# 注意,這邊啟動mongos實例用的是mongos命令

啟動分片功能

mongo //默認進入27017端口mongos> use adminmongos> sh.addShard("shard1/192.168.125.119:27001,192.168.125.120:27001,172.16.10.29:27001")mongos> sh.addShard("shard2/192.168.125.119:27002,192.168.125.120:27002,172.16.10.29:27002")mongos> sh.status()      //查看群集狀態# 此處為添加兩臺分片服務器,后續添加的也會均勻分配分片數據

實現分片功能

設置分片chunk大小

mongos> use configmongos> db.settings.save({"_id":"chunksize","value":1})# 設置塊大小為1M是方便實驗,不然需要插入海量數據

模擬寫入數據

mongos> use schoolmongos> show collectionsmongos> for(i=1;i<=50000;i++){db.user.insert({"id":i,"name":"jack"+i})}# 在school庫的user表中循環寫入五萬條數據

啟動數據庫分片

mongos>sh.enableSharding("school")# 我們可以自定義需要分片的庫或表

為school庫中的user集合創建索引,然后對表進行分片

mongos> db.user.createIndex({"id":1})# 以"id"作為索引mongos> sh.shardCollection("school.user",{"id":1})# 根據"id"對user表進行分片mongos> sh.status()# 查看分片情況mongos> sh.help()# 查看分片相關的命令

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到MongoDB頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久精品999| 久久精品国产成人| 国产精品成人一区| 国产精品久久久久久久久男| 在线成人中文字幕| 国产精品第8页| 欧美一区二粉嫩精品国产一线天| 日本欧美国产在线| 日韩精品在线免费观看视频| 亚洲国产精品va在线观看黑人| 亚洲男人天堂2019| 免费91麻豆精品国产自产在线观看| 亚洲国产成人精品一区二区| 欧美国产日韩二区| 成人激情视频网| 久久久亚洲天堂| 亚洲美女精品成人在线视频| 国产在线98福利播放视频| 日韩视频免费在线| 日本高清视频一区| 亚洲一二三在线| 欧美影院成年免费版| 精品成人国产在线观看男人呻吟| 性视频1819p久久| 亚洲激情中文字幕| 另类色图亚洲色图| 91在线看www| 欧美人交a欧美精品| 欧美国产精品va在线观看| 久久夜色精品国产亚洲aⅴ| 国产精品自产拍高潮在线观看| 国内精品美女av在线播放| 97av在线视频免费播放| 国产精品扒开腿做| 久热精品视频在线观看一区| 国产精品黄视频| 亚洲欧美国产精品久久久久久久| 日韩美女免费视频| 午夜精品一区二区三区视频免费看| 亚洲成人网久久久| 国产精品视频免费观看www| 精品久久久久久久久久久久久| 91美女片黄在线观| 中文字幕久热精品视频在线| 欧美精品在线免费播放| 日本亚洲欧洲色| 国产精品人成电影在线观看| 色综合导航网站| 欧洲亚洲免费在线| 国产精品视频不卡| 欧美激情第一页xxx| 国产一区视频在线播放| 国产97免费视| 91tv亚洲精品香蕉国产一区7ujn| 亚洲黄在线观看| www.亚洲免费视频| 国产精品丝袜一区二区三区| 国产精自产拍久久久久久蜜| 日韩欧美中文免费| 亚洲精品午夜精品| 久久久成人的性感天堂| 欧美在线视频在线播放完整版免费观看| 国内精品久久影院| 91免费人成网站在线观看18| 亚洲欧美资源在线| 国产精品视频精品| 在线观看日韩www视频免费| 亚洲无亚洲人成网站77777| 久久久久女教师免费一区| 久久久久999| 国产视频久久网| 亚洲国产欧美一区二区三区同亚洲| 欧美www视频在线观看| 成人亚洲欧美一区二区三区| 欧美在线www| 国产一区二区三区在线免费观看| 91av福利视频| 亚洲第一中文字幕在线观看| 国产精品69久久久久| 午夜精品一区二区三区在线| 精品亚洲一区二区三区在线观看| 日韩视频免费大全中文字幕| 国产亚洲精品激情久久| 亚洲www在线观看| 2021久久精品国产99国产精品| 欧美高清自拍一区| 国产激情久久久| …久久精品99久久香蕉国产| 国产精欧美一区二区三区| 色伦专区97中文字幕| 国内精品久久久久久影视8| 亚洲欧美国产一本综合首页| 国产成人精品免费视频| 成人精品视频久久久久| 欧美肥臀大乳一区二区免费视频| 日韩在线免费视频| 日韩欧美第一页| 久久福利视频网| 草民午夜欧美限制a级福利片| 亚洲欧美一区二区三区在线| 韩国美女主播一区| 欧美激情a在线| 久久香蕉频线观| 精品露脸国产偷人在视频| 欧美影院久久久| 欧美中文字幕在线播放| 欧美日韩aaaa| 久久手机精品视频| 久久久免费高清电视剧观看| 亚洲精品一区二区久| 亚洲国产成人在线播放| 粗暴蹂躏中文一区二区三区| 精品久久中文字幕| 久久久噜久噜久久综合| 日韩久久免费视频| 久久久免费在线观看| 久久影视电视剧免费网站清宫辞电视| 欧美最猛性xxxxx免费| 最近2019中文字幕mv免费看| 日韩风俗一区 二区| 亚洲电影成人av99爱色| 国产精品视频午夜| 日韩欧美在线视频日韩欧美在线视频| 国语自产精品视频在线看抢先版图片| 亚洲激情在线观看视频免费| 亚洲第一页中文字幕| 国模吧一区二区三区| 国产精品高潮在线| 亚洲aa中文字幕| 成人免费视频97| 欧美亚州一区二区三区| 91精品国产综合久久久久久久久| 亚洲国内精品在线| 国产精品稀缺呦系列在线| 美日韩精品免费视频| 久久精品视频在线播放| 亚洲精品久久视频| 亚洲成人黄色在线观看| 国产视频亚洲视频| 成人免费视频xnxx.com| 亚洲情综合五月天| 国产小视频国产精品| 欧美电影电视剧在线观看| 国产精品久久久久久搜索| 日韩国产精品视频| 国产亚洲一级高清| 91免费视频网站| 国产午夜精品全部视频播放| 91久久国产精品91久久性色| 一本一道久久a久久精品逆3p| 久久精品成人一区二区三区| 91久久久久久久久久久| 日韩av免费看| 亚洲第一精品夜夜躁人人躁| 久久久久久国产免费| 97福利一区二区| 国产一区二区香蕉| 亚洲欧美日韩一区二区三区在线| 亚洲国产天堂网精品网站| 黄网站色欧美视频| 日韩中文字幕国产| 欧美大尺度电影在线观看| 一本色道久久88综合亚洲精品ⅰ| 国产亚洲精品91在线|