創(chuàng)新互聯(lián)建站是一家專注于成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)與策劃設(shè)計(jì),廬陽(yáng)網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:廬陽(yáng)等地區(qū)。廬陽(yáng)做網(wǎng)站價(jià)格咨詢:13518219792
Part1:寫在最前
自從3.0版本起,MongoDB支持了WT存儲(chǔ)引擎,這個(gè)引擎相對(duì)老的MMAPv1存儲(chǔ)引擎來(lái)講,具有更高的壓縮比,且支持文檔級(jí)并發(fā)控制。也正因?yàn)閃T的優(yōu)良特性,在MongoDB3.2版本起,WT存儲(chǔ)引擎作為了默認(rèn)存儲(chǔ)引擎。本文將簡(jiǎn)述2.6升級(jí)3.0的過(guò)程和注意事項(xiàng)
Part1:建議和清單
限制
要升級(jí)到3.0版本,首先現(xiàn)有集群必須是2.6版本。如果是早期的版本,則必須先升級(jí)到2.6版本才可以升級(jí)3.0版本。如果2.6集群已經(jīng)開(kāi)啟了認(rèn)證模式,升級(jí)前需進(jìn)行authSchema 版本升級(jí),詳見(jiàn)關(guān)于認(rèn)證章節(jié)。
準(zhǔn)備
在開(kāi)始升級(jí)之前,請(qǐng)參閱MongoDB 3.0文檔中的兼容性更改,以確保您的應(yīng)用程序和部署與MongoDB 3.0兼容。在開(kāi)始升級(jí)之前解決部署中的不兼容問(wèn)題。
升級(jí)MongoDB之前,請(qǐng)先在臨時(shí)環(huán)境中測(cè)試應(yīng)用程序,以確保升級(jí)順利進(jìn)行
降級(jí)版本的限制
升級(jí)到3.0后,您只能降級(jí)到2.6.8或更高版本。
注意:避免重新配置包含不同MongoDB版本成員的副本集,因?yàn)镸ongoDB版本中的權(quán)限驗(yàn)證規(guī)則可能會(huì)有所不同。
低版本升級(jí)先決條件
要將副本集升級(jí)到3.0,所有副本集成員必須運(yùn)行版本2.6。要從早期的MongoDB版本升級(jí)副本集,請(qǐng)先將副本集的所有成員升級(jí)到最新的2.6系列版本,然后按照以下步驟從MongoDB 2.6升級(jí)到3.0。
Part2:升級(jí)過(guò)程
先升級(jí)副本集中的一個(gè)Secondary
關(guān)閉mongod實(shí)例,并用3.0二進(jìn)制文件的bin目錄代替2.6二進(jìn)制文件的bin目錄。
重新啟動(dòng)成員并等待成員恢復(fù)到Secondary狀態(tài),然后再升級(jí)下一個(gè)Secondary成員。要檢查成員的狀態(tài),請(qǐng)?jiān)趍ongo shell中發(fā)出rs.status()。
stepdown副本集中的Primary
將mongo shell連接到Primary服務(wù)器并使用rs.stepDown()來(lái)降級(jí)主服務(wù)器并強(qiáng)制其他節(jié)點(diǎn)選舉新的Primary服務(wù)器。
升級(jí)Primary服務(wù)器
當(dāng)rs.status()顯示原Primary節(jié)點(diǎn)已經(jīng)變?yōu)镾econdary,新的PRIMARY已經(jīng)被選舉出來(lái)的時(shí)候,開(kāi)始升級(jí)原Primary節(jié)點(diǎn):
關(guān)閉數(shù)據(jù)庫(kù),并用3.0二進(jìn)制文件的bin目錄代替2.6二進(jìn)制文件的bin目錄。
啟動(dòng)原Primary節(jié)點(diǎn)。
Part3:關(guān)于認(rèn)證
authSchema
2.6版本開(kāi)啟認(rèn)證模式要升級(jí)3.0,必須先升級(jí)authSchema。
運(yùn)行authSchemaUpgrade并升級(jí)3.0后,無(wú)法降級(jí)到2.6并開(kāi)啟認(rèn)證模式
查看authSchema版本是不是3.0(at least)
use admin
db.system.version.find( { _id:"authSchema" })
升級(jí)SchemaUpgrade,復(fù)制集的話在主庫(kù)執(zhí)行該命令
db.getSiblingDB("admin").runCommand({authSchemaUpgrade:1 });
Part4:變更存儲(chǔ)引擎
您必須使用MongoDB 3.0或更高版本才能使用WiredTiger存儲(chǔ)引擎。如果從早期版本的MongoDB升級(jí),請(qǐng)參閱升級(jí)到MongoDB 3.0或升級(jí)到MongoDB 3.2的指導(dǎo),然后再繼續(xù)更改存儲(chǔ)引擎。
在啟用新的WiredTiger存儲(chǔ)引擎之前,請(qǐng)確保所有副本集/分片集群成員至少運(yùn)行MongoDB 2.6.8版,最好是3.0.0版或更高版本。副本集可以具有不同存儲(chǔ)引擎的成員。因此,您可以更新成員以滾動(dòng)的方式使用WiredTiger存儲(chǔ)引擎。在更改所有成員使用WiredTiger之前,您可能希望在一段時(shí)間內(nèi)運(yùn)行混合存儲(chǔ)引擎。但是,性能會(huì)因工作量而異。
在configurefile中添加engine: "wiredTiger",并更換—dbpath后重啟實(shí)例
由于dbpath是新目錄,副本集會(huì)執(zhí)行initial sync進(jìn)行重新同步,重新同步的時(shí)間取決于數(shù)據(jù)量的大小和網(wǎng)絡(luò)情況。
為使用WiredTiger存儲(chǔ)引擎運(yùn)行的新mongod實(shí)例準(zhǔn)備數(shù)據(jù)目錄。 mongod必須具有此目錄的讀寫權(quán)限。您可以刪除已停止的輔助成員的當(dāng)前數(shù)據(jù)目錄的內(nèi)容,也可以完全創(chuàng)建新的目錄。
與WiredTiger的mongod不會(huì)從使用不同的存儲(chǔ)引擎創(chuàng)建的數(shù)據(jù)文件開(kāi)始。
Part5:Driver兼容性
絕大部分dirver版本只要支持3.0也支持3.2
更多driver兼容性參見(jiàn):
https://docs.mongodb.com/ecosystem/drivers/driver-compatibility-reference/
Warning:警告
2.6升級(jí)3.0
升級(jí)后不能降級(jí)低于2.6.8版本
2.6版本開(kāi)啟認(rèn)證模式要升級(jí)3.0,必須先升級(jí)authSchema。
運(yùn)行authSchemaUpgrade并升級(jí)3.0后,無(wú)法降級(jí)到2.6并開(kāi)啟認(rèn)證模式
——總結(jié)——
同小版本升級(jí)一樣,2.6升級(jí)3.0版本沒(méi)有什么難度,主要在于如果您在2.6版本已經(jīng)開(kāi)啟了認(rèn)證,那么一定要做好authSchema的相關(guān)升級(jí)操作,并了解降級(jí)的限制。由于編寫時(shí)間也很倉(cāng)促,文中難免會(huì)出現(xiàn)一些錯(cuò)誤或者不準(zhǔn)確的地方,不妥之處懇請(qǐng)讀者批評(píng)指正。
喜歡的讀者可以點(diǎn)個(gè)贊來(lái)個(gè)關(guān)注,您的贊美和關(guān)注是對(duì)筆者繼續(xù)發(fā)文的最大鼓勵(lì)與支持!
分享名稱:3分鐘完成MongoDB2.6升級(jí)3.0
網(wǎng)頁(yè)路徑:http://redsoil1982.com.cn/article46/gdiceg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、搜索引擎優(yōu)化、動(dòng)態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)、標(biāo)簽優(yōu)化、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)