以下內(nèi)容來源于官方文檔建議和個人運維工作總結(jié)。
]
磁盤配置:強烈建議使用SSD,磁盤陣列,建議使用Raid10,不建議raid 5,如果使用集中存儲,并且架構(gòu)為復制集,要求不同的節(jié)點使用不同的san。
網(wǎng)絡配置:集群節(jié)點間無心跳,網(wǎng)卡建議使用bond,綁定模式選用6。
操作系統(tǒng)建議使用Linux操作系統(tǒng)。RHEL7/CentOS7,暫不建議使用8。
環(huán)境依賴包要求:glibc、libcurl、openssl
關(guān)閉numa
關(guān)閉selinux
關(guān)閉防火墻
修改磁盤調(diào)度策略,ssd磁盤,使用noop或者deadline策略,虛擬機使用noop, 修改方法:修改grub.conf,加入 elevator=noop
修改磁盤預讀值:WT引擎建議配置8-32,命令:blockdev --setra 8 /dev/sda
dbpath所在目錄的文件系統(tǒng),強烈建議使用XFS,并且使用noatime選項掛載
禁用透明大頁
禁用NetworkManager和tuned服務
軟件安裝:建議將參數(shù)文件放到/etc/mongodb下;建議將數(shù)據(jù)庫軟件放到/usr/local/mongodb/version_id下;數(shù)據(jù)和日志放在獨立文件夾
系統(tǒng)內(nèi)核參數(shù):
vi/etc/sysctl.conf
fs.file-max=98000
kernel.pid_max=64000
vm.max_map_count=12800
kernel.threads-max=64000
vm.swappiness=5
vm.min_free_kbytes= 512000
vm.dirty_ratio= 80
vm.dirty_expire_centisecs= 500
vm.dirty_writeback_centisecs= 100
limit配置
cat/etc/security/limits.conf
---nofile是nproc的兩倍
mongosoft nofile 64000
mongohard nofile 64000
mongosoft nproc 32000
mongohard nproc 32000
注:以上內(nèi)核參數(shù)和limit配置滿足一般業(yè)務需求,如果并發(fā)和負載特別大,再根據(jù)實際情況調(diào)整。
systemLog: verbosity: 0 destination: file/syslog path: "/tmp/mongod.log" logAppend: true logRotate: rename/reopen processManagement: fork: true pidFilePath: "/tmp/mongo.pid" net: port: 27017 bindIp: localhost,/tmp/mongod.sock #bindIpAll: true maxIncomingConnections: 3000 unixDomainSocket: enabled: true # 默認True pathPrefix: "/tmp" # 路徑,默認為/tmp serviceExecutor: synchronous --該參數(shù)默認值是同步模式,如果并發(fā)和負載特別大,建議修改為異步模式 security: keyFile: "/etc/mongodb/keyFile" clusterAuthMode: keyFile authorization:enabled 啟用認證 operationProfiling: mode: slowOp slowOpThresholdMs: 200 storage: dbPath: "/tmp/test" journal: enabled: true commitIntervalMs: 100 directoryPerDB: true engine: wiredTiger wiredTiger: engineConfig: cacheSizeGB: 1 #默認1/2物理內(nèi)存,如果一個server上有多個mongodb實例應當根據(jù)情況配置,一般內(nèi)存配額的60-70% journalCompressor: snappy # journaldata壓縮算法snappy/zlib,默認snappy directoryForIndexes: true #索引和collections是否分開存儲到不同文件夾,默認false collectionConfig: blockCompressor: snappy # data壓縮算法snappy/zlib/none,默認snappy indexConfig: prefixCompression: true # 是否壓縮索引數(shù)據(jù),默認true setParameter: ## for rep replication: oplogSizeMB: replSetName: enableMajorityReadConcern:true ##如果是PSA架構(gòu),需要修改為false ## for sharding sharding: clusterRole: ### for mongos sharding: configDB: cloud: ###4.0以上版本禁用monitor monitoring: free: state: off |
MongoDB支持無密碼連接,但生產(chǎn)中必須啟用密碼認證;副本集必須使用keyfile;為便于管理,管理用戶及普通用戶均在admin數(shù)據(jù)庫進行認證。
社區(qū)版本只能采用邏輯備份,但是mongodump備份性能較差,建議采用多個從庫的方式,確保數(shù)據(jù)安全,同時可以結(jié)合文件系統(tǒng)快照等功能進行備份。
Mongodb支持復制集和分片集群架構(gòu),本文不做過多的描述。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/130121.html
摘要:是一個基于擴展實現(xiàn)的輕量級高性能的常駐內(nèi)存型的和應用服務框架高度封裝了,,服務器,以及基于實現(xiàn)可擴展的服務,同時支持包方式安裝部署項目?;趯嵱?,抽象事件處理類,實現(xiàn)與底層的回調(diào)的解耦,支持同步異步調(diào)用,內(nèi)置等常用組件等。 swoolefy swoolefy是一個基于swoole擴展實現(xiàn)的輕量級高性能的常駐內(nèi)存型的API和Web應用服務框架,高度封裝了http,websocket,ud...
摘要:二中常用命令顯示數(shù)據(jù)庫列表顯示當前數(shù)據(jù)庫中的集合類似關(guān)系數(shù)據(jù)庫中的表顯示用戶切換當前數(shù)據(jù)庫,如果數(shù)據(jù)庫不存在則創(chuàng)建數(shù)據(jù)庫。注意操作同時可以創(chuàng)建數(shù)據(jù)庫,如果一個不存在的數(shù)據(jù)庫名,則執(zhí)行后,會創(chuàng)建對應數(shù)據(jù)庫。如果指定字段,則會更新該的數(shù)據(jù)。 ..............................................................................
摘要:作為面試官,我是如何甄別應聘者的包裝程度語言和等其他語言的對比分析和主從復制的原理詳解和持久化的原理是什么面試中經(jīng)常被問到的持久化與恢復實現(xiàn)故障恢復自動化詳解哨兵技術(shù)查漏補缺最易錯過的技術(shù)要點大掃盲意外宕機不難解決,但你真的懂數(shù)據(jù)恢復嗎每秒 作為面試官,我是如何甄別應聘者的包裝程度Go語言和Java、python等其他語言的對比分析 Redis和MySQL Redis:主從復制的原理詳...
摘要:作為面試官,我是如何甄別應聘者的包裝程度語言和等其他語言的對比分析和主從復制的原理詳解和持久化的原理是什么面試中經(jīng)常被問到的持久化與恢復實現(xiàn)故障恢復自動化詳解哨兵技術(shù)查漏補缺最易錯過的技術(shù)要點大掃盲意外宕機不難解決,但你真的懂數(shù)據(jù)恢復嗎每秒 作為面試官,我是如何甄別應聘者的包裝程度Go語言和Java、python等其他語言的對比分析 Redis和MySQL Redis:主從復制的原理詳...
閱讀 1356·2023-01-11 13:20
閱讀 1707·2023-01-11 13:20
閱讀 1215·2023-01-11 13:20
閱讀 1906·2023-01-11 13:20
閱讀 4165·2023-01-11 13:20
閱讀 2757·2023-01-11 13:20
閱讀 1402·2023-01-11 13:20
閱讀 3671·2023-01-11 13:20