赛捷软件论坛's Archiver

lynn.yu 发表于 2020-8-21 16:59

[KB 103072功能解说] 升级到MongoDB 3.6时的其他注意事项

[b]* 本文由赛捷软件(上海)有限公司翻译完成,未经授权不得转载。如需转载,请先联系相应版块的版主取得授权。[/b]


[b]产品[/b]
Sage X3 12
Sage X3 11
Sage X3 PU9
Sage X3



[b]国家[/b]
北美
英国和爱尔兰



[b]类别[/b]
数据和数据库
数据库软件



[b]描述[/b]
当升级到V12 P20(Syracuse 12.5)、V11 P15(Syracuse 11.19)或PU9(Syracuse 9.19)时,MongoDB 3.6被列为必须安装的组件,所以必须升级到这个版本。

本文档为在线帮助[url]http://online-help.sageerpx3.com/erp/12/public/how-to_how-to-upgrade-to-MongoDB.html[/url](所有版本的说明相同)提供了补充说明。

重要提示:这些说明是假设你已经在使用MongoDB 3.4了。如果没有,那么你需要通过MongoDB的每个主要版本进行升级。例如,如果你正在使用MongoDB 3.0,你就需要升级到3.2,接着再升级到3.4,然后才能升级到3.6。


[b]解决方法[/b]
请先看一下这些说明
1.        当安装新的 mongodb 版本时,“mongodb.conf”文件会被这个文件的新的默认版本取代。因此,你应该在尝试升级前确认你有这个文件的副本。升级后,你应该重新编辑mongodb.conf的新版本,以纳入之前修改过的参数。

2.        在升级之前,建议使用“MongoDump”命令提取所有“Syracuse”数据库数据,这将允许你在需要时快速重新创建这些数据。

3.        如果MongoDB存储引擎目前是MMAPv1,建议你在MongoDB 3.4的时候升级到WiredTiger,以便于迁移。

4.        按照 [url]http://online-help.sageerpx3.com/erp/12/public/how-to_how-to-upgrade-to-MongoDB.html[/url] 网站上的补丁说明,将你的 MongoDB 安装升级到 3.6 版本,同时注意以下附加说明:

5.        在进行备份或升级之前,不要忘记关闭任何使用该MongoDB实例的Syracuse服务器。


[b]对于单节点的MongoDB安装[/b]
a. 运行Sage提供的MongoDB安装程序,在提示时选择 "修改安装 "选项。
b. 你应该可以选择与原始版本相同的端口和是否使用SSL加密连接等选项。
c. 如果使用SSL加密,那么请在提示时输入正确的口令短语,这点很重要。这个口令短语不经过安装程序的验证,所以会接受无效的口令短语(但在安装过程中会出现错误)。如果你记不清这个口令短语,请查看现有的 mongodb.conf 文件,并查找 "PEMKeyPassword "这个参数的值
注意:一旦安装成功完成之后,MongoDB的Windows服务名称就从“MongoDB for Sage EM - NODE0”更改为了“Safe X3 MongoDB NODE0”
d. 检查新的mongodb.conf文件,如有必要,可以添加或更改任意参数。


[b]将单节点MongoDB安装存储引擎转换为WiredTiger[/b]
如果原来的数据库使用的是MMAPv1,那么这个步骤会将磁盘存储引擎保留为MMAPv1,但是你可能希望考虑将其转换为WiredTiger存储引擎(基本步骤参见[url]https://docs.mongodb.com/v3.6/tutorial/change-standalone-wiredtiger/[/url])。
——使用mongodump导出数据库
——停止Syracuse服务
——停止MongoDB服务
——将 "data "目录重命名为不同的名称,例如 "data_MMAP"
——创建一个新的"data "目录
——启动MongoDB服务
——使用mongorestore重新导入数据
——重启Syracuse服务,并执行测试


[b]对于副本集MongoDB的安装[/b]
尽管你将使用 Sage 提供的安装介质,但是升级副本集的步骤可从 [url]https://docs.mongodb.com/manual/release-notes/3.6-upgrade-replica-set/[/url] 网站获取。
在升级主节点之前,针对每个辅助节点,执行这个流程
a. 运行Sage提供的MongoDB安装程序,在提示时选择 "修改安装 "选项。
b. 你应该可以选择与原始版本相同的端口和是否使用SSL加密连接等选项。
c. 如果使用SSL加密,那么请在提示时输入正确的口令短语,这点很重要。这个口令短语不经过安装程序的验证,所以会接受无效的口令短语(但在安装过程中会出现错误)。如果你记不清这个口令短语,请查看现有的 mongodb.conf 文件,并查找 "PEMKeyPassword "参数的这个值
注意:一旦安装成功完成之后,MongoDB的Windows服务名称就从“MongoDB for Sage EM - NODE0”更改为了“Safe X3 MongoDB NODE0”
d. 检查新的mongodb.conf文件,如有必要,可以添加或更改任意参数。


重要:你至少需要为你刚刚更新的MongoDB重新添加副本集配置,并重新启动MongoDB服务。

当你将所有节点升级到3.6后,如果你发现节点无法正确同步的问题。当你完成转换到wiredTiger的步骤后,应该可以解决这个问题(见下文)。


[b]将副本集MongoDB安装存储引擎转换为WiredTiger[/b]
重要:如果原来的数据库使用的是MMAPv1,那么这个过程将使磁盘存储引擎保持为MMAPv1,但是你必须转换为WiredTiger存储引擎(基本步骤参见[url]https://docs.mongodb.com/v3.6/tutorial/change-replica-set-wiredtiger/[/url])。
如果你没有这样做,那么Syracuse服务将无法启动,你将在Syracuse日志中看到以下一个或两个错误。
——orm.mongodb 错误更新数据库锁“errmsg”:“这个MongoDB部署不支持可重试写入。请在你的连接字符串中添加retryWrites=false。”
——报错:此MongoDB部署不支持可重试写入。请将retryWrites=false添加到你的连接字符串中。MongoError:此MongoDB部署不支持可重试写入。请在你的连接字符串中添加retryWrites=false。


[b]要采取的步骤:[/b]
——使用mongodump导出数据库
——停止Syracuse服务

首先,在次要构件上这个过程,一旦所有次要构件都更新了,就把主要构件降级("rs.stepDown(")),并更新该降级的构件。
——停止MongoDB服务
——将 "data "目录重命名为不同的名称,例如 "data_MMAP"
——创建一个新的"data "目录
——启动MongoDB服务
一旦所有构件都升级完毕
——重启Syracuse服务,并执行测试

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.