以下內容來源于官方文檔建議和個人運維工作總結。
]
磁盤配置:強烈建議使用SSD,磁盤陣列,建議使用Raid10,不建議raid 5,如果使用集中存儲,并且架構為復制集,要求不同的節點使用不同的san。
網絡配置:集群節點間無心跳,網卡建議使用bond,綁定模式選用6。
操作系統建議使用Linux操作系統。RHEL7/CentOS7,暫不建議使用8。
環境依賴包要求:glibc、libcurl、openssl
關閉numa
關閉selinux
關閉防火墻
修改磁盤調度策略,ssd磁盤,使用noop或者deadline策略,虛擬機使用noop, 修改方法:修改grub.conf,加入 elevator=noop
修改磁盤預讀值:WT引擎建議配置8-32,命令:blockdev --setra 8 /dev/sda
dbpath所在目錄的文件系統,強烈建議使用XFS,并且使用noatime選項掛載
禁用透明大頁
禁用NetworkManager和tuned服務
軟件安裝:建議將參數文件放到/etc/mongodb下;建議將數據庫軟件放到/usr/local/mongodb/version_id下;數據和日志放在獨立文件夾
系統內核參數:
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
注:以上內核參數和limit配置滿足一般業務需求,如果并發和負載特別大,再根據實際情況調整。
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 --該參數默認值是同步模式,如果并發和負載特別大,建議修改為異步模式 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物理內存,如果一個server上有多個mongodb實例應當根據情況配置,一般內存配額的60-70% journalCompressor: snappy # journaldata壓縮算法snappy/zlib,默認snappy directoryForIndexes: true #索引和collections是否分開存儲到不同文件夾,默認false collectionConfig: blockCompressor: snappy # data壓縮算法snappy/zlib/none,默認snappy indexConfig: prefixCompression: true # 是否壓縮索引數據,默認true setParameter: ## for rep replication: oplogSizeMB: replSetName: enableMajorityReadConcern:true ##如果是PSA架構,需要修改為false ## for sharding sharding: clusterRole: ### for mongos sharding: configDB: cloud: ###4.0以上版本禁用monitor monitoring: free: state: off |
MongoDB支持無密碼連接,但生產中必須啟用密碼認證;副本集必須使用keyfile;為便于管理,管理用戶及普通用戶均在admin數據庫進行認證。
社區版本只能采用邏輯備份,但是mongodump備份性能較差,建議采用多個從庫的方式,確保數據安全,同時可以結合文件系統快照等功能進行備份。
Mongodb支持復制集和分片集群架構,本文不做過多的描述。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/130121.html
摘要:是一個基于擴展實現的輕量級高性能的常駐內存型的和應用服務框架高度封裝了,,服務器,以及基于實現可擴展的服務,同時支持包方式安裝部署項目。基于實用,抽象事件處理類,實現與底層的回調的解耦,支持同步異步調用,內置等常用組件等。 swoolefy swoolefy是一個基于swoole擴展實現的輕量級高性能的常駐內存型的API和Web應用服務框架,高度封裝了http,websocket,ud...
摘要:二中常用命令顯示數據庫列表顯示當前數據庫中的集合類似關系數據庫中的表顯示用戶切換當前數據庫,如果數據庫不存在則創建數據庫。注意操作同時可以創建數據庫,如果一個不存在的數據庫名,則執行后,會創建對應數據庫。如果指定字段,則會更新該的數據。 ..............................................................................
摘要:作為面試官,我是如何甄別應聘者的包裝程度語言和等其他語言的對比分析和主從復制的原理詳解和持久化的原理是什么面試中經常被問到的持久化與恢復實現故障恢復自動化詳解哨兵技術查漏補缺最易錯過的技術要點大掃盲意外宕機不難解決,但你真的懂數據恢復嗎每秒 作為面試官,我是如何甄別應聘者的包裝程度Go語言和Java、python等其他語言的對比分析 Redis和MySQL Redis:主從復制的原理詳...
摘要:作為面試官,我是如何甄別應聘者的包裝程度語言和等其他語言的對比分析和主從復制的原理詳解和持久化的原理是什么面試中經常被問到的持久化與恢復實現故障恢復自動化詳解哨兵技術查漏補缺最易錯過的技術要點大掃盲意外宕機不難解決,但你真的懂數據恢復嗎每秒 作為面試官,我是如何甄別應聘者的包裝程度Go語言和Java、python等其他語言的對比分析 Redis和MySQL Redis:主從復制的原理詳...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20