MongoDB升级--从3.4到3.6
Upgrade a Replica Set from 3.4 to 3.6?
1)在master执行 db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
结果
{ "featureCompatibilityVersion" : { "version" : "3.4" }, "ok" : 1 }
2)在master上执行db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } ),执行成功;
注意:这一步必须要完成
3)关闭secondary 节点实例,将软硬有3.4版本替换为3.6版本,然后启动secondary节点
注意: 如果有config配置信息在目录下,须将config配置信息原样copy到3.6版本的目录下
4)做主从切换,建议用 rs.reconfig(),此时master节点变为secondary 节点
官方文档推荐用rs.stepDown(),不靠谱
5)将原来的master节点,现在的secondary的软件从3.4变为3.6,然后启动该secondary节点
注意config配置文件夹
6)停掉表决节点,升级表决几点软件,然后启动表决节点。
7)此时在master节点上执行执行 db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
结果依然是:{ "featureCompatibilityVersion" : { "version" : "3.4" }, "ok" : 1 }
8)在master节点再次做主从节点的切换,b并查看各节点状态是否正常
9)8)成功执行后,在当前的master节点上执行db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } )
执行结果为:
{
"ok" : 1,
"operationTime" : Timestamp(1531483378, 1),
"$clusterTime" : {
"clusterTime" : Timestamp(1531483378, 1),
"signature" : {
"hash" : BinData(0,"x22wHyiBqj/HuEenVyec6JKDL38="),
"keyId" : NumberLong("6577658765040943117")
}
}
}
成功
10)测试3.6新旧功能点是否正常。并仔细查看日志。