安装和升级 > 升级 ThingWorx > 手动升级 > Linux 手动升级 > 手动迁移至 ThingWorx 9.x:Linux
手动迁移至 ThingWorx 9.x:Linux
要确定升级路径,请参阅升级表格。以下步骤仅适用于迁移。要进行就地升级,请参阅手动就地升级:Linux
A.) 升级前 
1. 如果您使用的是 RHEL 操作系统,请先验证是否已升级至支持的版本,然后再升级 ThingWorx。有关详细信息,请参阅系统要求
* 
仅 RHEL 8.2 支持 ThingWorx 9.1。
2. 在开始升级之前,建议执行以下操作:
数据库转储
备份 ThingworxStorageThingworxPlatform 文件夹中的所有数据。
备份 Tomcat_home 文件夹。这包括 binconflibtempwebappswork 文件夹。
3. 如果除 ThingWorx 平台外,还使用 ThingWorx Apps:
a. 请验证 ThingWorx Apps 版本是否支持要升级到的 ThingWorx 版本。请参阅 ThingWorx Apps Upgrade Support Matrix (ThingWorx Apps 升级支持一览表)。
b. 进行平台升级之前,必须先执行一些步骤。在继续下一步骤之前,请参阅升级 ThingWorx Apps
4. 如果还安装了 Navigate,请在 ThingWorx Navigate 兼容性一览表处验证兼容性。
5. PTC 软件下载页面获取 ThingWorx 的最新版本。
* 
在当前用户具有写入权限的文件夹中下载并提取 ThingWorx 内容。需要具有写入权限,因为更新脚本会在此过程中创建一些文件。
6. 验证您是否正在运行所需版本的 Tomcat 和 Java。有关版本需求的信息,请参阅系统要求文档。
* 
如果必须升级 Java 版本,请在升级 Java 前先升级 ThingWorx。
7. 版本不同,Tomcat Java 选项设置要求可能不同。要验证您的设置是否正确,请参阅 Apache Tomcat Java 选项设置
8. 当您升级 MSSQL、Azure SQL 或 H2 时,如果数据表中缺少任何自定义索引字段值,升级将失败。在开始升级过程之前,请验证是否所有自定义索引字段均具有值。
* 
如果不能执行此操作,则升级将失败,您必须再次部署较旧版本 (如果进行了架构更新,则需要回滚/恢复数据库),并添加缺失的索引值或从数据表中移除自定义索引,然后再执行升级。
9. 将以下内容添加到 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. 删除 ThingworxStorageThingworxBackupStorage 文件夹的内容。
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 文件,请找到先前从 ThingworxStorageThingworxPlatform 文件夹中移动的 keystore.jkskeystore-password 文件,然后将其粘贴到相应的文件夹中。
15. 要启动 ThingWorx,请在 Web 浏览器中转至 <servername>/Thingworx。使用以下登录信息:
登录名:Administrator
密码:<源服务器管理员密码>
D.) 升级至 Java 11 
* 
Java 11 对于 ThingWorx 9.2.0 及更高版本而言必不可少。有关详细信息,请参阅系统要求
1. 若要升级至 Java 11,则需执行以下步骤。如果已安装了 Java 11,请跳过此部分。
a. 下载 OpenJDKJava 11
b. 在 Linux 上安装 jEnv:
i. Git 复制 jEnv 信息库:
git clone https://github.com/jenv/jenv.git ~/.jenv
ii. 将 jEnv 添加至 $PATH:
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
iii. 初始化 jEnv:
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
iv. 更新于 ~/.bash_profile 中所作的更改:
source ~/.bash_profile
v. 设置 JAVA_HOME 环境变量:
jenv enable-plugin export
vi. 重新启动当前 shell 壳会话:
exec $SHELL -l
vii. 运行以下命令后,JAVA_HOME 变量将由 jEnv 自动设置,具体取决于当前使用的 Java 环境:
jenv doctor
c. 添加 Java 环境:
i. 添加任意环境。所有 Java 安装均位于 /usr/lib/jvm/ 中。使用 jenv add 命令。以下示例:
jenv add /usr/lib/jvm/java-11-amazon-corretto
jenv add /usr/lib/jvm/jdk-11.0.7
ii. 检查 jenv 的所有可用 Java 版本:
jenv versions
iii. 设置全局 Java 环境:
jenv global <version>
iv. 设置特定于壳的 Java 环境:
jenv shell <version>
v. 验证由 jenv 设置的当前版本:
jenv versions
vi. 更新 Tomcat Java 设置中的路径。
vii. 重新启动 Tomcat。
E.) 导入数据和实体 
1. 将导出的文件移回 ThingworxStorage\exports
2. 如有必要,获取并导入扩展的最新版本。必须导入 9.x 版本的扩展。PTC 支持的扩展可从 ThingWorx Foundation 下载页面进行下载。
3. 如果从 8.x 升级至 9.x 且具有 Java 扩展,则请参阅将 Java 扩展从 8.x 迁移至 9.x
4. 导入实体和数据。
* 
如果要升级至 ThingWorx 9.2 或更高版本,则必须在导入 Entities.xml 前导入 Principals.xml。否则将导致所有权限丢失。有关详细信息,请参阅在 9.2 及更高版本中导入实体
a. 在 Composer 中,单击“导入/导出”>“自文件”
b. 选择要导入的数据和/或实体。
* 
如果要包括已导入实体的子系统设置 (例如,如果要从测试环境进入生产环境),请选中“包括子系统”复选框。
* 
除了在 MSSQL 升级的应用程序日志中会出现以下错误外,当存在任何已配置运行时权限且名称包含超过 256 个字符的已迁移服务、属性或事件名称时,也会显示以下错误。要修复此错误,请将所有服务、属性和事件名称限制为 256 个字符以下。
Error occurred while accessing the data provider
c. 查看应用程序日志以验证日志中是否存在“缺失承担者”警告消息。如果存在,请参阅在 9.2 及更高版本中导入实体以排除故障。
F.) 升级其他组件 
如果要使用“集成连接器”,则必须获取并安装最新版本的 Integration Runtime。有关详细信息,请参阅集成连接器的集成运行时服务的初始设置
如果将 ThingWorx Analytics 用作解决方案的一部分,则可以使用两个安装程序来处理组件升级:
Analytics Server - 安装或升级 Analytics Server 和 Analytics Extension
Platform Analytics - 安装或升级 Descriptive Analytics 和 Property Transforms
有关升级过程的详细信息,请参阅升级、修改和修复 ThingWorx Analytics
这对您有帮助吗?