如何無縫對MongoDB集群版本升級 2.8以下
升級需要做什么
數據備份
非常重要
用於數據回滾
下載目標版本Binary
Mongos mongod
2.8以上升級類型
Upgrade MonoDB instance
單個Mongodb實例升級
步驟
下載bin程序
解壓
停止老的mongod節點
使用下載的mongod節點代替老的mognod節點
重啟下載的mongod節點
問題
shut down & restart可能導致短暫暫停
可以腳本化加速切換過程
Upgrade Relica Sets
副本集實例升級
步驟
下載bin
解壓
每個節點需要單獨升級
首先升級Second節點
停止老的mongod節點
使用下載的節點代替老的mongodb節點
登錄mongo客戶端,使用rs.status()查看second恢復情況
startup2 or recovering表示正在回復
secondary表示恢復成功
繼續采用以上方式進行剩余second節點升級
使用rs.stepDown()降級當前主節點
使用rs.status()查看是否已有新的primary,老的節點降級為Second節點
采用升級Second節點方式升級老的主節點
Upgrade Sharded Clusters
集群實例升級
步驟
下載bin
解壓
解壓
每個節點單獨升級
首先升級mongos即誒但那
其次升級config server節點
mognos --configdb cfg1:xx,cfg2:xxx,cfg2:xxx
每個config server節點單獨升級
升級順序
cfg3->cfg2->cfg1
數據節點升級
upgrade a mognodb instance
采用upgrade replica sets方式
根據情況使用兩種方式進行升級
2.8以上
2.8->3.0
采用MMAP存儲升級必要性不大
主要是為了3.0新的存儲引擎的升級(Wired Tiger)
使用3.0存儲引擎采用直接替換Binary方式不能無縫升級
MMAP->Wired Tiger
數據存儲格式不同
數據導出->導入
既然不能直接替換Binary的方式無縫升級,那么如何進行無縫升級
通用數據遷移方案
適用於任何需要遷移數據的系統
適用於Replic Set內部以及Sharding分片
數據類型
時效性數據(雙寫)
過期作為(1個月)
遷移簡單
永久性數據(線上線下、消息隊列)
永久有效
遷移復雜
整體負載
MongoDB集群無縫升級實踐 針對場景用適合的升級方案
2.8以下
單個mongo節點版本升級
測試環境
非線上
副本集合版本升級
線上較少
小業務量使用
集群Sharding版本升級
較多
采用文本的無縫遷移方案
---------------------
作者:斷劍走江湖
來源:CSDN
原文:https://blog.csdn.net/hanyueqi/article/details/60580266?utm_source=copy
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
