当前OpenShift MongoDB版本:
sh-4.2$ mongod --version
db version v3.2.10
git version: 79d9b3ab5ce20f51c272b4411202710a082d0317
OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
allocator: tcmalloc
modules: none
build environment:
distarch: x86_64
target_arch: x86_64
3.6
.
OpenShift支持提供的步骤包括:
导航到以下位置:
“应用程序”>“部署”>“操作”下拉列表(右侧)和
编辑。
从那里修改Images/Image下版本的值
流标记:
请注意,这只会升级MongoDB的版本
超出支持范围。
如何在OpenShift上安全地将MongoDB从3.2.10升级到3.6?
编辑
前端网站显示:
{"name":"MongoError","message":"Topology was destroyed"}
我搜索了一下
Topology was destroyed
找到了这个答案:
https://stackoverflow.com/a/31950062
尽管它引用了Mongoose,我也不使用它,但它谈到了当无法连接到MongoDB时节点会崩溃。
所以我缩小了节点盒,然后是MongoDB盒,然后是MongoDB盒,然后是节点盒。
它似乎已经恢复到上一个工作的MongoDB部署。
然后我点击
Deploy
编辑2
2018-09-14T14:08:40.176+0000 F CONTROL [initandlisten] ** IMPORTANT: UPGRADE PROBLEM: The data files need to be fully upgraded to version 3.4 before attempting an upgrade to 3.6; see http://dochub.mongodb.org/core/3.6-upgrade-fcv for more details.
2018-09-14T14:08:40.176+0000 I NETWORK [initandlisten] shutdown: going to close listening sockets...
2018-09-14T14:08:40.176+0000 I NETWORK [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2018-09-14T14:08:40.176+0000 I REPL [initandlisten] shutdown: removing all drop-pending collections...
2018-09-14T14:08:40.176+0000 I REPL [initandlisten] shutdown: removing checkpointTimestamp collection...
2018-09-14T14:08:40.176+0000 I STORAGE [initandlisten] WiredTigerKVEngine shutting down
=> Waiting for MongoDB daemon up
2018-09-14T14:08:40.416+0000 I STORAGE [initandlisten] WiredTiger message [1536934120:416170][26:0x7f20e10adb80], txn-recover: Main recovery loop: starting at 61/3200
2018-09-14T14:08:40.529+0000 I STORAGE [initandlisten] WiredTiger message [1536934120:529090][26:0x7f20e10adb80], txn-recover: Recovering log 61 through 62
2018-09-14T14:08:40.593+0000 I STORAGE [initandlisten] WiredTiger message [1536934120:593166][26:0x7f20e10adb80], txn-recover: Recovering log 62 through 62
2018-09-14T14:08:40.684+0000 I STORAGE [initandlisten] shutdown: removing fs lock...
2018-09-14T14:08:40.684+0000 I CONTROL [initandlisten] now exiting
2018-09-14T14:08:40.684+0000 I CONTROL [initandlisten] shutting down with code:62
=> Waiting for MongoDB daemon up
编辑3
我取得了一些进展,我采取了以下步骤:
pod启动并运行,但是当我尝试对3.6执行同样的操作时,它会在日志中显示关于的错误消息
The data files need to be fully upgraded to version 3.4 before attempting an upgrade to 3.6
关于
https://docs.mongodb.com/manual/release-notes/3.6-upgrade-standalone/#upgrade-version-path
我在吊舱终端运行了这个:
env | grep MONGODB // to confirm i had admin password correct
mongo -u admin -p ************ admin
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
它返回:
{ "featureCompatibilityVersion" : "3.2", "ok" : 1 }
所以我做了:
> db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
{ "ok" : 1 }
> db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
{ "featureCompatibilityVersion" : "3.4", "ok" : 1 }
然后我确保所有的pod都被缩小了,并将MongoDB版本从
3.4
,并试图将MongoDB吊舱向上扩展。
它又回来了!
> db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } )
{ "ok" : 1 }
因为我在浏览器开发工具控制台中遇到了以下错误:
featureCompatibilityVersion必须为3.6才能使用ArrayFilter。看到了吗
http://dochub.mongodb.org/core/3.6-feature-compatibility
.
现在前端的功能正在发挥作用!