Mongodb資料同步和主從切換
一、主從切換方式
1. 在採用Master-Slave 下,備節點當機不會影響到主節點,但是主節點當機,並不會自動進行故障轉移,會影響到連線mongodb 的應用程式。
2. 需要手動把備節點的停止,並修改mongodb.conf 檔案後,再重啟,如圖:
3. 由於現在備節點已經變成了主節點,所以需要修改web 的poseidon.properties 和rmm 的xx.config 裡的mongodb 相關配置,改為備節點的ip 和埠,如圖:
4. 等主節點恢復後,則把主節點當成備節點,資料會自動地同步到原來的主節點上。
5. 主節點同步完資料後,可選擇主備再次調換。
6. 如果主從長期沒有同步,mongodb 啟動可能不會再自動同步,需要備庫加上autoresyuc=true 配置項才能全部重新開始同步。
7.mongoDB 伺服器啟動與關閉,使用量兩種方式:
7.1 透過我們提供的startMongoDB.sh 和 stopMongoDB.sh 。
7.2 透過mongod -f mongodb.conf 啟動,透過use admin db.shutdownServer() 關閉。
二、直接複製檔案方式
1. 複製檔案方式進行主從同步
mongodb 複製data檔案同步了,mongodb靠自身的全量同步,隨著data資料夾的增大,構建索引所花費的時間會越來越多,在週末兩天根本完不成同步的任務,且同步時會影響主的效能,導致主的插入效能會受到影響,所以要找到一個可以先把主的data資料夾複製到從裡面去,然後在往後的時間裡增量同步的方法。
如果直接全量複製過去,再啟動mongodb的主,然後啟動mongodb的備,會報一個錯誤`TueFeb 19 16:31:45 [replslave] all sources dead: data too stale haltedreplication, sleeping for 5 seconds`, 同步失敗了
2. 解決方案
關閉RMM (time&&event ), 關閉主的mongodb ,關閉從的mongodb
備份主的local.*, 包括local.ns 到一個新的資料夾目錄,備份好之後,刪除主的local.*, 再刪除從的local.*
啟動主的mongodb ,再啟動從的mongodb
在主的上面增加資料或者刪除資料,看能否同步到從庫裡面去
從庫檢視資料是否成功新增的方法,見第三節`mongodb 命令列啟動命令
3.mongodb 主從配置內容
# 1. mongodb 主的配置檔案 port=37017 dbpath=E:\\mongo\\mongodb-master\\data logpath=E:\\mongo\\mongodb-master\\log\\mongodb.log logappend=true master=true |
# 2. mongodb 從的配置檔案 port=37018 dbpath=E:\\mongo\\mongodb-slave\\data logpath=E:\\mongo\\mongodb-slave\\log\\mongodb.log logappend=true slave=true source=127.0.0.1:37017 |
# 3. mongodb 命令列啟動命令 > cd bin > mongo --host 127.0.0.1 --port 37018 [ -u admin -p admin] > use rmm > db.rmm_backup_processor_calc_num.find()
|
# 4. mongodb 統計命令[ 觀察mongodb 負載效能的命令] > cd bin > mongostat --port 37018 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69994536/viewspace-2763461/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MongoDB主從模式手動強制同步資料方法MongoDB模式
- Redis主從切換Redis
- 手工切換MySQL主從MySql
- Redis sentinel主從切換Redis
- MySQL 資料主從同步MySql主從同步
- keepalived配置redis主從切換Redis
- ostgreSQL主從切換-手動SQL
- [資料庫]MYSQL主從同步資料庫MySql主從同步
- MySQL-主從複製之同步主從資料MySql
- MHA實現mysql主從資料庫手動切換的方法MySql資料庫
- StoneDB 主從切換實踐方案
- 搭建 mariadb 資料庫主從同步資料庫主從同步
- 生產環境中mysql資料庫由主從關係切換為主主關係MySql資料庫
- Redis叢集的主從切換研究Redis
- oracle 11g datagurd主從切換Oracle
- REDIS主從頻繁切換事件排查Redis事件
- MongoDB 副本集切換方法MongoDB
- 一個月後,我們又從 MySQL 雙主切換成了主 - 從!MySql
- Mysql 5.6 Master和Slave 主備切換MySqlAST
- 深色模式適配和主題切換模式
- Mongodb主從配置MongoDB
- MySQL 主從切換延時高問題分析MySql
- mysql伺服器主從資料庫同步配置MySql伺服器資料庫
- MongoDB 初始化資料同步MongoDB
- (九)主題切換
- postgresql10主從+keepalived高可用自動切換(切換關鍵在指令碼)SQL指令碼
- MYSQL5.6主從+keepalive高可用自動切換MySql
- Dledger是如何實現主從自動切換的
- docker Redis單機主從哨兵模式切換失敗DockerRedis模式
- mysql 5.7+keepalived主從切換步驟簡述MySql
- Redis基礎篇(六)資料同步:主從複製Redis
- MongoDB複製集資料同步流程MongoDB
- RocketMQ主從同步MQ主從同步
- mysql主從同步MySql主從同步
- Redis主從同步Redis主從同步
- 信創雲盤,解決雙系統切換的資料交換同步問題
- ORACLE 12C DATAGUARD環境搭建和主從切換Oracle
- 資料庫讀寫分離,主從同步實現方法資料庫主從同步