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

MongoDB4.0構(gòu)建分布式分片群集-創(chuàng)新互聯(lián)

MongoDB分片簡(jiǎn)述

  • 高數(shù)據(jù)量和吞吐量的數(shù)據(jù)庫(kù)應(yīng)用會(huì)對(duì)單機(jī)的性能造成較大壓力,大的查詢量會(huì)將單機(jī)的 CPU 耗盡,大的數(shù)據(jù)量對(duì)單機(jī)的存儲(chǔ)壓力較大,最終會(huì)耗盡系統(tǒng)的內(nèi)存而將壓力轉(zhuǎn)移到磁盤 IO 上。
  • MongoDB 分片是使用多個(gè)服務(wù)器存儲(chǔ)數(shù)據(jù)的方法,以支持巨大的數(shù)據(jù)存儲(chǔ)和對(duì)數(shù)據(jù)進(jìn)行操作。分片技術(shù)可以滿足 MongoDB 數(shù)據(jù)量大量增長(zhǎng)的需求,當(dāng)一臺(tái) MongoDB 服務(wù)器不足以存儲(chǔ)海量數(shù)據(jù)或不足以提供可接受的讀寫吞吐量時(shí),我們就可以通過(guò)在多臺(tái)服務(wù)器上分割數(shù)據(jù),使得數(shù)據(jù)庫(kù)系統(tǒng)能存儲(chǔ)和處理更多的數(shù)據(jù)。

MongoDB分片優(yōu)勢(shì)

  • 分片為應(yīng)對(duì)高吞吐量與大數(shù)據(jù)量提供了方法:
  1. 使用分片減少了每個(gè)分片需要處理的請(qǐng)求數(shù),因此,通過(guò)水平擴(kuò)展,群集可以提高自己的存儲(chǔ)容量。比如,當(dāng)插入一條數(shù)據(jù)時(shí),應(yīng)用只需要訪問(wèn)存儲(chǔ)這條數(shù)據(jù)的分片。
  2. 使用分片減少了每個(gè)分片村存儲(chǔ)的數(shù)據(jù)。

分片的優(yōu)勢(shì)在于提供類似線性增長(zhǎng)的架構(gòu),提高數(shù)據(jù)可用性,提高大型數(shù)據(jù)庫(kù)查詢服務(wù)器的性能。當(dāng)MongoDB單點(diǎn)數(shù)據(jù)庫(kù)服務(wù)器存儲(chǔ)成為瓶頸、單點(diǎn)數(shù)據(jù)庫(kù)服務(wù)器的性能成為瓶頸或需要部署大型應(yīng)用以充分利用內(nèi)存時(shí),可以使用分片技術(shù)。

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到尉氏網(wǎng)站設(shè)計(jì)與尉氏網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋尉氏地區(qū)。

MongoDB分片群集的組成

MongoDB分片群集主要有如下三個(gè)組件:

  • Shard:分片服務(wù)器,用于存儲(chǔ)實(shí)際的數(shù)據(jù)塊,實(shí)際生產(chǎn)環(huán)境中一個(gè)shard server 角色可以由幾臺(tái)服務(wù)器組成一個(gè)Peplica Set 承擔(dān),防止主機(jī)單點(diǎn)故障。
  • Config Server:配置服務(wù)器,存儲(chǔ)了整個(gè)分片群集的配置信息,其中包括chunk信息。
  • Routers:前端路由,客戶端由此接入,且讓整個(gè)群集看上去像單一數(shù)據(jù)庫(kù),前端應(yīng)用可以透明使用。

系統(tǒng)環(huán)境

  • 系統(tǒng):CentOS 7.4 x86_64
  • 軟件版本:4.0
  • 關(guān)閉防火墻及selinux
IP地址 路由服務(wù)器(Routers) 配置服務(wù)器(Config Server) Shard1 Shard2 Shard3
192.168.125.1192701727018270012700227003
192.168.125.1202701727018270012700227003
192.168.125.1212701727018270012700227003

部署分片群集

三臺(tái)物理服務(wù)器安裝及配置

  1. 下載解壓MongoDB
    wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.0.tgz
    tar zxvf mongodb-linux-x86_64-4.0.0.tgz -C /opt
    mv /opt/mongodb-linux-x86_64-4.0.0/ /usr/local/mongodb
  2. 創(chuàng)建路由、配置、分片服務(wù)器的數(shù)據(jù)存放目錄及日志管理
    路由服務(wù)器不存儲(chǔ)數(shù)據(jù),因此不需要?jiǎng)?chuàng)建數(shù)據(jù)存儲(chǔ)目錄,日志文件創(chuàng)建完成還需給予權(quán)限。
    mkdir -p /data/mongodb/config
    mkdir -p /data/mongodb/shard{1,2,3}
    mkdir -p /data/mongodb/logs
    touch /data/mongodb/logs/shard{1,2,3}.log
    touch /data/mongodb/logs/mongos.log
    touch /data/mongodb/logs/config.log
    chmod 777 /data/mongodb/logs/*.log
  3. 創(chuàng)建管理用戶,修改目錄權(quán)限
    useradd -M -s /sbin/nologin mongo
    chown -R mongo:mongo /usr/local/mongodb
    chown -R mongo:mongo /data/mongodb
  4. 添加環(huán)境變量,便于使用
    echo 'export MONGODB_HOME=/usr/local/mongodb' >> /etc/profile
    echo 'export PATH=$PATH:$MONGODB_HOME/bin' >> /etc/profile
    source /etc/profile
  5. 系統(tǒng)參數(shù)優(yōu)化
    ulimit -n 25000    //可以打開的大文件數(shù)量
    ulimit -u 25000    //用戶大可用的進(jìn)程數(shù)
    sysctl -w vm.zone_reclaim_mode=0  //內(nèi)存不足時(shí),從其他節(jié)點(diǎn)分配內(nèi)存
    # 從CentOS7開始,MongoDB會(huì)建議關(guān)閉系統(tǒng)的THP特性,否則可能會(huì)導(dǎo)致性能下降
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    echo never > /sys/kernel/mm/transparent_hugepage/defrag  //*注意*這些優(yōu)化都是臨時(shí)的,重啟失效

部署配置服務(wù)器(三臺(tái)物理服務(wù)器配置步驟相同)

  1. 寫入配置文件,我們可以用scp命令把配置文件發(fā)到其他兩臺(tái)物理服務(wù)器
    # vim config.conf
    dbpath=/data/mongodb/config  //數(shù)據(jù)文件存放位置
    logpath=/data/logs/config.log    //日志文件
    port=27018    //端口號(hào)
    logappend=true
    fork=true
    maxConns=5000  
    storageEngine=mmapv1
    replSet=configs  //復(fù)制集名稱
    configsvr=true    //設(shè)置參數(shù)為true
    # mongod -f config.conf  //啟動(dòng)config實(shí)例
    scp /usr/local/mongodb/bin/config.conf root@192.168.125.120:/usr/local/mongodb/bin
    scp /usr/local/mongodb/bin/config.conf root@192.168.125.121:/usr/local/mongodb/bin
  2. 配置復(fù)制集(任意一臺(tái)物理機(jī)上操作即可)
    mongo --port 27018
    config={_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"}]}    //創(chuàng)建復(fù)制集
    rs.initiate(config)                //初始化復(fù)制集

部署分片服務(wù)器

  • 編輯shard{1,2,3}.conf配置文件,端口分別為27001,27002,27003,設(shè)置shardsvr=true,啟動(dòng)分片服務(wù)器
    # vim shard1.conf
    dbpath=/data/mongodb/shard1
    logpath=/data/logs/shard1.log
    port=27001
    logappend=true
    fork=true
    maxConns=5000  
    storageEngine=mmapv1
    shardsvr=true
    # mongod -f shard1.conf
    # 與另外兩臺(tái)配置實(shí)例配置文件相同,僅端口、數(shù)據(jù)文件存放及日志文件要改,只需配置完成后啟動(dòng)即可
  • 將shard1配置為復(fù)制集(這里需要注意的是,預(yù)先被設(shè)為仲裁節(jié)點(diǎn)的服務(wù)器上創(chuàng)建復(fù)制集會(huì)報(bào)錯(cuò)。)
    mongo --port 27001
    use admin
    config={_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"}]}    //創(chuàng)建復(fù)制集
    rs.initiate(config)                //初始化復(fù)制集
  • 其余兩臺(tái)分片服務(wù)器shard2、shard3設(shè)置相同,注意端口及仲裁節(jié)點(diǎn)的問(wèn)題即可

    部署路由服務(wù)器

  • 創(chuàng)建配置文件,將配置文件發(fā)送到其他物理服務(wù)器。注意,路由服務(wù)器不需要存儲(chǔ)數(shù)據(jù)目錄
    # vim mongos.conf
    logpath=/data/mongodb/logs/mongos.log
    logappend = true
    port = 27017
    fork = true
    configdb = configs/192.168.125.119:27018,192.168.125.120:27018,192.168.125.121:27018
    maxConns=20000
  • 啟動(dòng)mongos實(shí)例
    mongs -f /usr/local/mongodb/bin/mongos.conf
    # 注意,這邊啟動(dòng)mongos實(shí)例用的是mongos命令

啟動(dòng)分片功能

mongo  //默認(rèn)進(jìn)入27017端口
mongos> use admin
mongos> 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()           //查看群集狀態(tài)
# 此處為添加兩臺(tái)分片服務(wù)器,后續(xù)添加的也會(huì)均勻分配分片數(shù)據(jù)

實(shí)現(xiàn)分片功能

  • 設(shè)置分片chunk大小
    mongos> use config
    mongos> db.settings.save({"_id":"chunksize","value":1})
    # 設(shè)置塊大小為1M是方便實(shí)驗(yàn),不然需要插入海量數(shù)據(jù)
  • 模擬寫入數(shù)據(jù)
    mongos> use school
    mongos> show collections
    mongos> for(i=1;i<=50000;i++){db.user.insert({"id":i,"name":"jack"+i})}
    # 在school庫(kù)的user表中循環(huán)寫入五萬(wàn)條數(shù)據(jù)
  • 啟動(dòng)數(shù)據(jù)庫(kù)分片
    mongos>sh.enableSharding("school")
    # 我們可以自定義需要分片的庫(kù)或表
  • 為school庫(kù)中的user集合創(chuàng)建索引,然后對(duì)表進(jìn)行分片
    mongos> db.user.createIndex({"id":1})
    # 以"id"作為索引
    mongos> sh.shardCollection("school.user",{"id":1})
    # 根據(jù)"id"對(duì)user表進(jìn)行分片
    mongos> sh.status()
    # 查看分片情況
    mongos> sh.help()
    # 查看分片相關(guān)的命令

另外有需要云服務(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)景需求。

新聞標(biāo)題:MongoDB4.0構(gòu)建分布式分片群集-創(chuàng)新互聯(lián)
URL鏈接:http://aaarwkj.com/article42/gjhhc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站改版、App開發(fā)、響應(yīng)式網(wǎng)站、軟件開發(fā)網(wǎng)站排名

廣告

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

營(yíng)銷型網(wǎng)站建設(shè)
热久久精品只有这里有| 亚洲av成人精品日韩一区麻豆| av资源中文字幕在线天堂| 成人高清乱码一区二区三区| 国产成人大片中文字幕在线| 熟女aaa一区二区午夜| 人妻少妇被粗大爽av| 亚洲免费麻豆一区二区三区| 欧美日韩国产亚洲免费| 激情婷婷亚洲五月综合网| 国产三级国产精品国产国在线观看| av基地蜜桃蜜桃蜜桃| 日韩免费视频一区二区三区免费| 麻豆视传媒短视频网站免费| 亚洲国产不卡一区二区三区| 中文字幕免费不卡一区| 久久精品亚洲精品国产| 日韩在线一区二区视频观看| 国产一区二区三区区别| 日本精品av一区二区| 在线 | 一区二区三区四区| 国产黄a三级三级三级老师绑| 国产69精品久久一级| 久久综合中文字幕一区| 国产人妖cd蜜雅丝袜美女| 亚洲ve中文字幕久久一区二区 | 亚洲国产欧美日韩一区| 久久久av在线免费观看| 伊人狼人综合视频在线播放| 国语少妇高潮对白在线| 久久精品91久久久| 五月天丁香婷婷狠狠狠| 中文字幕乱码伊人三级| 妞干网视频这里只有精品| 亚洲中文字幕激情中午字幕| av中文字幕一二三区| 日韩激情中文字幕一区二区三区| 国产精品久久久毛片av| 久久青青草原一区二区| 欧美国产日韩在线播放| 亚洲精品色在线网站国产呦|