我已經升級了MongodDB sharded集羣,其中有兩個副本集,從3.2到3.4。當前的存儲引擎是MMAPv1。成功升級所有輔助,主要,配置服務器和mongos到3.4後,當我使用以下命令運行配置服務器時。將Sharded Cluster從3.2升級到3.4時的讀取關注度爲多數錯誤級別
sudo mongod --configsvr
我不斷收到以下錯誤。
SHARDING [碎片註冊表重裝]碎片註冊表的定期重裝失敗::由:: 115導致無法從配置服務器獲取更新碎片列表,因爲當前存儲引擎不支持多數readConcerns;將在30秒後重試
而且我也無法將mongos與配置服務器連接。當我嘗試使用連接它下面的命令
須藤mongos --configdb [IP-的-MY-配置服務器]:27019
它給了我下面的錯誤。
BADVALUE:configdb只支持副本集的連接字符串
我想mongos是無法連接到配置服務器由於配置服務器上的大多數readConcerns錯誤。
MongoDB手冊中說 「當從副本集配置服務器讀取時,MongoDB 3.4使用」多數「讀取關注級別。」
,並使用「多數」的讀的關注程度,WiredTiger must be used as storage engine.
因此,似乎我已經改用WiredTiger存儲引擎,使其工作。但是,當我要切換到第二個副本集成員的WiredTiger存儲引擎,根據手冊
"This procedure completely removes a secondary replica set member’s data"
所以我堅持半途而廢。情況是
- 配置服務器給出關於大多數readConcerns的錯誤。
- 我必須切換到WiredTiger才能擺脫它。
- 切換到WiredTiger將從輔助成員中刪除數據。
- 由於配置服務器錯誤,在切換到WiredTiger過程期間,數據不會被複制回次要成員,並最終導致丟失所有數據(如果我錯了,請更正)。
的問題是:
- 我可以做的MongoDB 3.4使用的「本地」讀關懷水平從副本集中配置服務器讀取時?
- 如何在不丟失數據的情況下切換到WiredTiger引擎?
是否可以選擇降級到v3.2,遷移到WiredTiger,然後升級? –
是的,如果找不到其他解決方案,可以這樣做。 – umarxe