3分鐘完成MongoDB2.6升級3.0

3分鐘完成MongoDB2.6升級3.0

創(chuàng)新互聯(lián)建站是一家專注于成都做網站、網站設計、外貿營銷網站建設與策劃設計,廬陽網站建設哪家好?創(chuàng)新互聯(lián)建站做網站,專注于網站建設十載,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:廬陽等地區(qū)。廬陽做網站價格咨詢:13518219792

3分鐘完成MongoDB2.6升級3.0

前言

Part1:寫在最前

自從3.0版本起,MongoDB支持了WT存儲引擎,這個引擎相對老的MMAPv1存儲引擎來講,具有更高的壓縮比,且支持文檔級并發(fā)控制。也正因為WT的優(yōu)良特性,在MongoDB3.2版本起,WT存儲引擎作為了默認存儲引擎。本文將簡述2.6升級3.0的過程和注意事項

實戰(zhàn)

Part1:建議和清單

限制

要升級到3.0版本,首先現(xiàn)有集群必須是2.6版本。如果是早期的版本,則必須先升級到2.6版本才可以升級3.0版本。如果2.6集群已經開啟了認證模式,升級前需進行authSchema 版本升級,詳見關于認證章節(jié)。

 

準備

在開始升級之前,請參閱MongoDB 3.0文檔中的兼容性更改,以確保您的應用程序和部署與MongoDB 3.0兼容。在開始升級之前解決部署中的不兼容問題。

升級MongoDB之前,請先在臨時環(huán)境中測試應用程序,以確保升級順利進行

 

降級版本的限制

升級到3.0后,您只能降級到2.6.8或更高版本。

注意:避免重新配置包含不同MongoDB版本成員的副本集,因為MongoDB版本中的權限驗證規(guī)則可能會有所不同。

 

低版本升級先決條件

要將副本集升級到3.0,所有副本集成員必須運行版本2.6。要從早期的MongoDB版本升級副本集,請先將副本集的所有成員升級到最新的2.6系列版本,然后按照以下步驟從MongoDB 2.6升級到3.0。

 

 

Part2:升級過程

先升級副本集中的一個Secondary

關閉mongod實例,并用3.0二進制文件的bin目錄代替2.6二進制文件的bin目錄。

重新啟動成員并等待成員恢復到Secondary狀態(tài),然后再升級下一個Secondary成員。要檢查成員的狀態(tài),請在mongo shell中發(fā)出rs.status()。

 

 

stepdown副本集中的Primary

將mongo shell連接到Primary服務器并使用rs.stepDown()來降級主服務器并強制其他節(jié)點選舉新的Primary服務器。

 

 

升級Primary服務器

當rs.status()顯示原Primary節(jié)點已經變?yōu)镾econdary,新的PRIMARY已經被選舉出來的時候,開始升級原Primary節(jié)點:

關閉數(shù)據(jù)庫,并用3.0二進制文件的bin目錄代替2.6二進制文件的bin目錄。

啟動原Primary節(jié)點。

 

 

 

 Part3:關于認證

authSchema

2.6版本開啟認證模式要升級3.0,必須先升級authSchema。

運行authSchemaUpgrade并升級3.0后,無法降級到2.6并開啟認證模式

查看authSchema版本是不是3.0(at least)

use admin

db.system.version.find( { _id:"authSchema" })

升級SchemaUpgrade,復制集的話在主庫執(zhí)行該命令

db.getSiblingDB("admin").runCommand({authSchemaUpgrade:1 });

 

 Part4:變更存儲引擎

您必須使用MongoDB 3.0或更高版本才能使用WiredTiger存儲引擎。如果從早期版本的MongoDB升級,請參閱升級到MongoDB 3.0或升級到MongoDB 3.2的指導,然后再繼續(xù)更改存儲引擎。

 

在啟用新的WiredTiger存儲引擎之前,請確保所有副本集/分片集群成員至少運行MongoDB 2.6.8版,最好是3.0.0版或更高版本。副本集可以具有不同存儲引擎的成員。因此,您可以更新成員以滾動的方式使用WiredTiger存儲引擎。在更改所有成員使用WiredTiger之前,您可能希望在一段時間內運行混合存儲引擎。但是,性能會因工作量而異。

 

在configurefile中添加engine: "wiredTiger",并更換—dbpath后重啟實例

由于dbpath是新目錄,副本集會執(zhí)行initial sync進行重新同步,重新同步的時間取決于數(shù)據(jù)量的大小和網絡情況。

 

為使用WiredTiger存儲引擎運行的新mongod實例準備數(shù)據(jù)目錄。 mongod必須具有此目錄的讀寫權限。您可以刪除已停止的輔助成員的當前數(shù)據(jù)目錄的內容,也可以完全創(chuàng)建新的目錄。

 

與WiredTiger的mongod不會從使用不同的存儲引擎創(chuàng)建的數(shù)據(jù)文件開始。

 

 

 Part5:Driver兼容性

絕大部分dirver版本只要支持3.0也支持3.2

更多driver兼容性參見:

https://docs.mongodb.com/ecosystem/drivers/driver-compatibility-reference/


Warning:警

2.6升級3.0

升級后不能降級低于2.6.8版本

2.6版本開啟認證模式要升級3.0,必須先升級authSchema。

運行authSchemaUpgrade并升級3.0后,無法降級到2.6并開啟認證模式




——總結——

同小版本升級一樣,2.6升級3.0版本沒有什么難度,主要在于如果您在2.6版本已經開啟了認證,那么一定要做好authSchema的相關升級操作,并了解降級的限制。由于編寫時間也很倉促,文中難免會出現(xiàn)一些錯誤或者不準確的地方,不妥之處懇請讀者批評指正。


喜歡的讀者可以點個贊來個關注,您的贊美和關注是對筆者繼續(xù)發(fā)文的最大鼓勵與支持!

分享名稱:3分鐘完成MongoDB2.6升級3.0
網頁路徑:http://muchs.cn/article46/gdiceg.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供定制網站、搜索引擎優(yōu)化、動態(tài)網站、網站設計、標簽優(yōu)化、做網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管