手动迁移至 ThingWorx 9.x:Windows
要确定升级路径,请参阅
升级表格。以下步骤仅适用于迁移。要进行就地升级,请参阅
手动就地升级: Windows。
A.) 升级前
1. 在开始升级之前,建议执行以下操作:
◦ 数据库转储
◦ 备份 ThingworxStorage 和 ThingworxPlatform 文件夹中的所有数据。
◦ 备份 Tomcat_home 文件夹。这包括 bin、conf、lib、temp、webapps 和 work 文件夹。
2. 如果除 ThingWorx 平台外,还使用 ThingWorx Apps:
5. 验证您是否正在运行所需版本的 Tomcat 和 Java。有关版本要求的信息,请参阅
系统要求。
| 如果必须升级 Java 版本,请在升级 Java 前先升级 ThingWorx。 |
7. 当您升级 MSSQL、Azure SQL 或 H2 时,如果数据表中缺少任何自定义索引字段值,升级将失败。在开始升级过程之前,请验证是否所有自定义索引字段均具有值。
| 如果不能执行此操作,则升级将失败,您必须再次部署较旧版本 (如果进行了架构更新,则需要回滚/恢复数据库),并添加缺失的索引值或从数据表中移除自定义索引,然后再执行升级。 |
8. 将以下内容添加到 Apache Tomcat Java 选项中:
-Dlog4j2.formatMsgNoLookups=true
B.) 导出数据和实体
1. 停止 Tomcat:在 Tomcat 属性中,单击停止。等待 Tomcat 停止。
2. 强烈建议您先备份以下文件夹,然后再继续操作:
◦ Apache Software Foundation\Tomcat x.x\webapps\Thingworx
◦ <Tomcat 安装位置>:\\ThingworxStorage
3. 启动 Tomcat:在 Tomcat 属性中,单击启动。重新启动 Tomcat 可确保在导出之前清除数据库。
4. 导出实体和数据:
a. 在 Composer 中,单击“导入/导出”>“导出”>“导出选项”。
b. 如有必要,请单击“包括数据”。
数据和实体即会导出到 ThingworxStorage\exports。
5. 复制数据和实体导出文件,然后将其移至安全位置。您将在后续步骤中导入这些文件。
C.) 备份和配置
1. 备份 /ThingworxStorage/esapi 目录中的 validation.properties 文件,然后将其删除。
| validation.properties 文件将在启动 ThingWorx 时创建。如果要保留所做的任何更改,将文件保存在 ThingworxStorage 目录之外的位置,然后继续移除 esapi 目录。启动时,ThingWorx 将重新创建该文件,您可以将自定义正则表达式重新添加到自动生成的 validation.properties 文件中。 |
2. 在 ThingworxStorage 文件夹中找到 keystore.jks 文件,然后将其移至安全位置。您稍后需要将此文件重新添加到迁移后的 ThingworxStorage 文件夹。
3. 在 ThingworxPlatform 文件夹中找到 keystore-password 文件,然后将其移至安全位置。您稍后需要将此文件重新添加到迁移后的 ThingworxPlatform 文件夹。
4. 请注意任何正在使用的扩展 (位于 ThingworxStorage\extensions 中)。这些扩展将在后续步骤中重新导入。
5. 停止 Tomcat。
6. 删除 ThingworxStorage 和 ThingworxBackupStorage 文件夹的内容。
7. 从 ThingworxPlatform 文件夹中删除 keystore-password 文件。
8. 转至 \Apache Software Foundation\Tomcat x.x\webapps 下的 Tomcat 安装,然后删除 Thingworx.war 文件。
9. 删除位于 Apache Software Foundation\Tomcat x.x\webapps 下的 Thingworx 文件夹。
10. 复制此版本的 Thingworx.war 文件,然后将其置于以下 Tomcat 安装位置:\Apache Software Foundation\Tomcat x.x\webapps。
11. 启用扩展导入。默认情况下,所有用户的扩展导入均处于禁用状态。将以下内容添加至 platform-settings.json 文件。添加下列 ExtensionPackageImportPolicy 参数或将其更新为 true,以允许导入扩展。
"ExtensionPackageImportPolicy": {
"importEnabled": <true or false>,
"allowJarResources": <true or false>,
"allowJavascriptResources": <true or false>,
"allowCSSResources": <true or false>,
"allowJSONResources": <true or false>,
"allowWebAppResources": <true or false>,
"allowEntities": <true or false>,
"allowExtensibleEntities": <true or false>
},
12. 如果使用 H2 作为 ThingWorx 的数据库,则必须将用户名和密码添加到 platform-settings.json 文件中。
},
"PersistenceProviderPackageConfigs":{
"H2PersistenceProviderPackage":{
"ConnectionInformation":
{
"password": "<changeme>",
"username": "twadmin"
}
},
13. 启动 Tomcat。
14. 如果要重用旧的 keystore.jks 文件,请找到先前从 ThingworxStorage 和 ThingworxPlatform 文件夹中移动的 keystore.jks 和 keystore-password 文件,然后将其粘贴到相应的文件夹中。
15. 要启动 ThingWorx,请在 Web 浏览器中转至 <servername>\Thingworx。使用以下登录信息:
◦ 登录名:Administrator
◦ 密码:<源服务器管理员密码>
D.) 升级至 Java 11
| Java 11 对于 ThingWorx 9.2.0 及更高版本而言必不可少。有关详细信息,请参阅 系统要求。 |
1. 若要升级至 Java 11,则需执行以下步骤。如果已安装了 Java 11,请跳过此部分。
b. 解压缩已下载的 openjdk-11 zip 并复制解压缩文件夹中的 jdk-xxxx 文件夹。
c. 将 jdk-xxxx 文件夹粘贴到以下位置:C:\Program Files\Java。
d. 验证 JAVA_HOME 系统变量是否已配置为使用 Java 11 目录位置。例如 C:\Program Files\Java\jdk-11.0.7。
e. 编辑路径变量并添加新值:%JAVA_HOME%\bin。
f. 要验证 Java 版本,请打开命令提示符,然后运行以下命令:java -version。
g. 更新 Tomcat Java 设置中的路径。
h. 重新启动 Tomcat。
E.) 导入数据和实体
1. 将导出的文件移回 ThingworxStorage\exports。
2. 如有必要,获取并导入扩展的最新版本。必须导入 9.x 版本的扩展。PTC 支持的扩展可从 ThingWorx Foundation
下载页面进行下载。
4. 导入实体和数据。
| 如果要升级至 ThingWorx 9.2 或更高版本,则必须在导入 Entities.xml 前导入 Principals.xml。否则将导致所有权限丢失。有关详细信息,请参阅 在 9.2 及更高版本中导入实体。 |
a. 在 Composer 中,单击“导入/导出”>“自文件”。
b. 选择要导入的数据和/或实体。
| 如果要包括已导入实体的子系统设置 (例如,如果要从测试环境进入生产环境),请选中“包括子系统”复选框。 |
| 除了在 MSSQL 升级的应用程序日志中会出现以下错误外,当存在任何已配置运行时权限且名称包含超过 256 个字符的已迁移服务、属性或事件名称时,也会显示以下错误。要修复此错误,请将所有服务、属性和事件名称限制为 256 个字符以下。 Error occurred while accessing the data provider |
F.) 升级其他组件
• 如果将 ThingWorx Analytics 用作解决方案的一部分,则可以使用两个安装程序来处理组件升级:
◦ Analytics Server - 安装或升级 Analytics Server 和 Analytics Extension
◦ Platform Analytics - 安装或升级 Descriptive Analytics 和 Property Transforms