最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mongodb主從同步配置實戰(zhàn)詳細教程(建議收藏)

 更新時間:2024年10月10日 10:13:52   作者:aa一葉知秋aa  
MongoDB主從同步是一種數(shù)據(jù)庫同步備份技術,主要用于數(shù)據(jù)備份、故障恢復和讀擴展,其基本原理是通過主節(jié)點記錄操作日志,從節(jié)點定期獲取這些日志并在本地執(zhí)行,實現(xiàn)數(shù)據(jù)的同步,適合需要高可用性的系統(tǒng)部署,感興趣的朋友一起看看吧

MongoDB主從同步

主從同步是MongoDB最常用的同步方式,也是一個簡單的數(shù)據(jù)庫同步備份的集群技術,這種方式很靈活,可用于備份,故障恢復,讀擴展等。
最基本的設置方式就是建立一個主節(jié)點和一個或多個從節(jié)點,每個從節(jié)點要知道主節(jié)點的地址。采用雙機備份后主節(jié)點掛掉以后從節(jié)點可以接替主機繼續(xù)服務。所以這種模式比單節(jié)點的高可用性要好很多。

主從同步的原理

在主從結(jié)構(gòu)中,主節(jié)點的操作記錄成為oplog(operation log),oplog存儲在一個系統(tǒng)數(shù)據(jù)庫local的集合oplog.$main中,這個集合的每個文檔都代表主節(jié)點上執(zhí)行的一個操作。

從服務器會定期從主服務器中獲取oplog記錄,然后在本機上執(zhí)行!對于存儲oplog的集合,MongoDB采用的是固定集合,也就是說隨著操作變化,新的操作會覆蓋舊的操作!

主從同步的其他設置項

  • --only 從節(jié)點指定同步某個數(shù)據(jù)庫,默認是同步全部數(shù)據(jù)庫
  • --slavedelay 從節(jié)點設置主數(shù)據(jù)庫同步數(shù)據(jù)的延遲(單位是秒)
  • --fastsync 從節(jié)點以主數(shù)據(jù)庫的節(jié)點快照為節(jié)點啟動從數(shù)據(jù)庫
  • --autoresync 從節(jié)點如果不同步則重新同步數(shù)據(jù)庫(即選擇當通過熱添加了一臺從服務器之后,從服務器選擇是否更新主服務器之間的數(shù)據(jù))
  • --oplogSize 主節(jié)點設置oplog的大小(主節(jié)點操作記錄存儲到local的oplog中)

配置主從同步的注意點

1 在數(shù)據(jù)庫集群中要明確的知道誰是主服務器,主服務器只有一臺

2 從服務器要知道自己的數(shù)據(jù)源也就是對應的主服務器是誰

3 --master用來確定主服務器,--slave  和 --source 來控制從服務器

環(huán)境

系統(tǒng)                     IP                              配置
CentOS 7.6         192.168.121.164         mongodb主庫
CentOS 7.6         192.168.121.133         mongodb從庫

主從配置

主庫的配置(直接復制執(zhí)行)

cat > /opt/mongodb_app/mongo_27017/conf/mongodb.conf << EOF
systemLog:
  destination: file
  logAppend: true
  path: /opt/mongodb_app/mongo_27017/logs/mongodb.log

storage:
  journal:
    enabled: true
  dbPath: /opt/mongodb_app/data/mongo_27017
  directoryPerDB: true
  wiredTiger:
     engineConfig:
        cacheSizeGB: 1
        directoryForIndexes: true
     collectionConfig:
         blockCompressor: zlib
     indexConfig:
        prefixCompression: true

processManagement:
  fork: true
  pidFilePath: /opt/mongodb_app/mongo_27017/pid/mongod.pid

net:
  port: 27017
  bindIp: 127.0.0.1,192.168.121.164

EOF

使用--master參數(shù)啟動主庫

/opt/mongodb_app/mongodb/bin/mongod -f /opt/mongodb_app/mongo_27017/conf/mongodb.conf --master

從庫的配置(直接復制執(zhí)行)

cat > /opt/mongodb_app/mongo_27017/conf/mongodb.conf << EOF
systemLog:
  destination: file
  logAppend: true
  path: /opt/mongodb_app/mongo_27017/logs/mongodb.log

storage:
  journal:
    enabled: true
  dbPath: /opt/mongodb_app/data/mongo_27017
  directoryPerDB: true
  wiredTiger:
     engineConfig:
        cacheSizeGB: 1
        directoryForIndexes: true
     collectionConfig:
         blockCompressor: zlib
     indexConfig:
        prefixCompression: true

processManagement:
  fork: true
  pidFilePath: /opt/mongodb_app/mongo_27017/pid/mongod.pid

net:
  port: 27017
  bindIp: 127.0.0.1,192.168.121.133


EOF

使用--slave --source 192.168.121.164:27017參數(shù)啟動從庫

然后進去查看數(shù)據(jù)情況(那個新建會話是主庫)

測試主從情況

db.inventory.insertMany( [
{ "item": "journal", "qty": 25, "size": { "h": 14, "w": 21, "uom": "cm" }, "status": "A" },
{ "item": "notebook", "qty": 50, "size": { "h": 8.5, "w": 11, "uom": "in" }, "status": "A" },
{ "item": "paper", "qty": 100, "size": { "h": 8.5, "w": 11, "uom": "in" }, "status": "D" },
{ "item": "planner", "qty": 75, "size": { "h": 22.85, "w": 30, "uom": "cm" }, "status": "D" },
{ "item": "postcard", "qty": 45, "size": { "h": 10, "w": 15.25, "uom": "cm" }, "status": "A" }
]);

兩邊數(shù)據(jù)是沒有問題的,至此mongodb的主從同步就完成了

我在寫這個文章的時候也有參考一些文檔,如有侵權(quán)請告知

到此這篇關于mongodb主從同步配置的文章就介紹到這了,更多相關mongodb主從同步配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

靖宇县| 北海市| 孟州市| 无极县| 望江县| 微山县| 卓资县| 平顺县| 平山县| 名山县| 广州市| 肥东县| 南召县| 兴城市| 临泽县| 屯昌县| 孟州市| 阜新市| 大方县| 昭平县| 行唐县| 内江市| 沂水县| 邯郸市| 来凤县| 明水县| 阿瓦提县| 南涧| 扶风县| 永吉县| 沅江市| 汤阴县| 荃湾区| 灵宝市| 桐梓县| 漳州市| 迁安市| 闽清县| 平江县| 九寨沟县| 无为县|