3分鐘完成MongoDB2 6公升級3 0

2021-09-05 04:00:57 字數 3844 閱讀 9888

寫在最前

自從3.0版本起,mongodb支援了wt儲存引擎,這個引擎相對老的mmapv1儲存引擎來講,具有更高的壓縮比,且支援文件級併發控制。也正因為wt的優良特性,在mongodb3.2版本起,wt儲存引擎作為了預設儲存引擎。本文將簡述2.6公升級3.0的過程和注意事項

part1:

建議和清單

限制 要公升級到

3.0版本,首先現有集群必須是

2.6版本。如果是早期的版本,則必須先公升級到

2.6版本才可以公升級

3.0版本。如果

2.6集群已經開啟了認證模式,公升級前需進行

authschema

版本公升級,詳見關於認證章節。 準備

在開始公升級之前,請參閱

mongodb 3.0

文件中的相容性更改,以確保您的應用程式和部署與

mongodb 3.0

相容。在開始公升級之前解決部署中的不相容問題。

公升級mongodb

之前,請先在臨時環境中測試應用程式,以確保公升級順利進行

降級版本的限制

公升級到3.0後,您只能降級到

2.6.8

或更高版本。

注意:避免重新配置包含不同

mongodb

版本成員的副本集,因為

mongodb

版本中的許可權驗證規則可能會有所不同。

低版本公升級先決條件

要將副本集公升級到

3.0,所有副本集成員必須執行版本

2.6。

要從早期的

mongodb

版本公升級副本集,請先將副本集的所有成員公升級到最新的

2.6系列版本,然後按照以下步驟從

mongodb 2.6

公升級到3.0。

part2:

公升級過程

先公升級副本集中的乙個

secondary

關閉mongod

例項,並用

3.0二進位制檔案的

bin目錄代替

2.6二進位制檔案的

bin目錄。

重新啟動成員並等待成員恢復到

secondary

狀態,然後再公升級下乙個

secondary

成員。要檢查成員的狀態,請在

mongo shell

中發出rs.status()。

stepdown

副本集中的

primary

將mongo shell

連線到primary

伺服器並使用

rs.stepdown()

來降級主伺服器並強制其他節點擊舉新的

primary

伺服器。 公升級

primary

伺服器 當

rs.status()

顯示原primary

節點已經變為

secondary

,新的primary

已經被選舉出來的時候,開始公升級原

primary

節點: 關閉資料庫,並用

3.0二進位制檔案的

bin目錄代替

2.6二進位制檔案的

bin目錄。

啟動原primary

節點。

part3:

關於認證

authschema

2.6版本開啟認證模式要公升級

3.0,必須先公升級

authschema

。 執行

authschemaupgrade

並公升級3.0

後,無法降級到

2.6並開啟認證模式

檢視authschema

版本是不是

3.0(

at least

) use admin

db.system.version.find( )

公升級schemaupgrade,複製集的話在主庫執行該命令

db.getsiblingdb(

"admin"

).runcommand();

part4:

變更儲存引擎

您必須使用

mongodb 3.0

或更高版本才能使用

wiredtiger

儲存引擎。

如果從早期版本的

mongodb

公升級,請參閱公升級到

mongodb 3.0

或公升級到

mongodb 3.2

的指導,然後再繼續更改儲存引擎。

在啟用新的

wiredtiger

儲存引擎之前,請確保所有副本集

/分片集群成員至少執行

mongodb 2.6.8

版,最好是

3.0.0

版或更高版本。副本集可以具有不同儲存引擎的成員。

因此,您可以更新成員以滾動的方式使用

wiredtiger

儲存引擎。

在更改所有成員使用

wiredtiger

之前,您可能希望在一段時間內執行混合儲存引擎。

但是,效能會因工作量而異。 在

configurefile

中新增engine: "wiredtiger"

,並更換—

dbpath

後重啟例項

由於dbpath

是新目錄,副本集會執行

initial sync

進行重新同步,重新同步的時間取決於資料量的大小和網路情況。

為使用wiredtiger

儲存引擎執行的新

mongod

例項準備資料目錄。

mongod

必須具有此目錄的讀寫許可權。

您可以刪除已停止的輔助成員的當前資料目錄的內容,也可以完全建立新的目錄。 與

wiredtiger

的mongod

不會從使用不同的儲存引擎建立的資料檔案開始。

part5:

driver相容性

絕大部分

dirver

版本只要支援

3.0也支援

3.2 更多

driver

相容性參見:

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的相關公升級操作,並了解降級的限制。由於編寫時間也很倉促,文中難免會出現一些錯誤或者不準確的地方,不妥之處懇請讀者批評指正。

3分鐘完成yum server設定

1 web server,rpm放到目錄 tmp a裡去,tmp a對映為url是yourserver.com 2 安裝createrepo工具 yum install createrepo 3 建立xml,createrepo tmp a 4 建立簽名金鑰yum install rng utils...

5分鐘完成mysql離線安裝

mysql離線安裝並不複雜,就是經常會出現漏東西,有時候的搞半天,總結下,快速離線安裝mysql,直接把下面的命令敲一遍就好,5 10分鐘就能安裝好。2.1 安裝 主要是上傳檔案 解壓 新建使用者等。2.1.1 詳細命令 1.gz檔案上傳到目錄 usr local 2.解壓 cd usr local...

3分鐘認識 Liquid

liquid是什麼?liquid 是一種模板語言。類似jsp freemaker liquid語法 詳細的就不介紹了。簡單例子 輸出 introduction 類似jsp el表示式 如何構建liquid執行環境 liquid如何執行?只看到在jekyii中執行,是jekyii支援的一種模板語言 以...