elasticsearch入門系列">elasticsearch入門系列
695
2022-05-29
前言
1.什么是復制集
MongoDB復制是將數據同步到多個服務器的過程;復制集提供了數據的冗余備份并提高了數據的可用性,通常可以保證數據的安全性;復制集還允許您從硬件故障和服務中斷中恢復數據。
mongodb的復制集至少需要兩個節點。其中一個是主節點,負責處理客戶端請求,其余的都是從節點,負責復制主節點上的數據。
mongodb各個節點常見的搭配方式為:一主一從、一主多從。
主節點記錄在其上的所有操作oplog,從節點定期輪詢主節點獲取這些操作,然后對自己的數據副本執行。
一份數據復制多份。如圖所示
2.復制集的作用
當客戶端通過電商網站從MongoDB中查詢數據的時候,如果MongoDB宕機,就會導致整個系統不可用。復制集就可以實現MongoDB高可用
3.MongoDB復制集集群
primary:主節點,負責接受客戶端請求
secondary:從節點,負責從主節點復制數據
一、Mongodb復制集的搭建
1.MongoDB中創建3個配置文件
27018.cfg
# mongod.conf # for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/ # Where and how to store data. storage: dbPath: D:\work\net\mongodb\MongoDB-5.0.6\ReplicaSet-data\data-27018 journal: enabled: true # engine: # mmapv1: # wiredTiger: # where to write logging data. systemLog: destination: file logAppend: true path: D:\work\net\mongodb\MongoDB-5.0.6\ReplicaSet-log\mongod-27018.log # network interfaces net: port: 27018 bindIp: 127.0.0.1 #processManagement: #security: #operationProfiling: replication: replSetName: rs0 #sharding: ## Enterprise-Only Options: #auditLog: #snmp:
27019.cfg
# mongod.conf # for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/ # Where and how to store data. storage: dbPath: D:\work\net\mongodb\MongoDB-5.0.6\ReplicaSet-data\data-27019 journal: enabled: true # engine: # mmapv1: # wiredTiger: # where to write logging data. systemLog: destination: file logAppend: true path: D:\work\net\mongodb\MongoDB-5.0.6\ReplicaSet-log\mongod-27019.log # network interfaces net: port: 27019 bindIp: 127.0.0.1 #processManagement: #security: #operationProfiling: replication: replSetName: rs0 #sharding: ## Enterprise-Only Options: #auditLog: #snmp:
27020.cfg
# mongod.conf # for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/ # Where and how to store data. storage: dbPath: D:\work\net\mongodb\MongoDB-5.0.6\ReplicaSet-data\data-27020 journal: enabled: true # engine: # mmapv1: # wiredTiger: # where to write logging data. systemLog: destination: file logAppend: true path: D:\work\net\mongodb\MongoDB-5.0.6\ReplicaSet-log\mongod-27020.log # network interfaces net: port: 27020 bindIp: 127.0.0.1 #processManagement: #security: #operationProfiling: replication: replSetName: rs0 #sharding: ## Enterprise-Only Options: #auditLog: #snmp:
2.MongoDB中創建3個數據目錄和日志目錄
3.MongoDB多個實例啟動
3.1 mongod-27018實例啟動
3.2 mongod-27018實例啟動
3.3 mongod-27018實例啟動
4.MongoDB復制集角色分配
4.1 primary節點初始化
連接27018節點 mongo.exe –host 127.0.0.1 –port 27018
初始化主節點rs.initiate()
主節點狀態查看rs.status()
4.2 primary節點添加從節點
主節點中添加27019節點
rs.add(“127.0.0.1:27019”)
主節點中添加27020節點
rs.add(“127.0.0.1:27020”)
查看節點狀態
4.3 MongoDB復制集Compass連接
連接地址:mongodb://localhost:27018,localhost:27019,localhost:27020/?readPreference=primary&appname=MongoDB%20Compass&ssl=false
4.4 MongoDB復制集.NET Core連接
總結
MongoDB復制集缺陷
數據量過大,MongoDB所在的磁盤容量有限,無法存儲海量數據
高并發的寫,一個MongoDB主節點并發處理能力有限,無法解決高并發寫
所以:需要使用MongoDB分片
MongoDB
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。