安装和升级 > 导入 ThingWorx Apps 扩展用于高可用性环境
导入 ThingWorx Apps 扩展用于高可用性环境
* 
本主题中的说明适用于配置为高可用性 (HA) 环境的 ThingWorx 系统上的 ThingWorx Apps 的初始导入。如果要在单服务器 ThingWorx 系统中导入 ThingWorx Apps,请按照 导入 ThingWorx Apps 扩展中的说明进行操作。
可在配置为高可用性 (HA) 环境的 ThingWorx 系统中运行 ThingWorx Apps,配置如下:
双服务器高可用性安装。
运行嵌入 ThingWorx Platform 的 Apache Ignite,而不是单独运行 Apache Ignite。
下图显示了这种情况下的群集配置:
以下组件可以是 HA 部署的一部分:
用户和设备 - 在 HA 功能中没有角色。从这些角度来看,没有任何变化。即使主 ThingWorx 服务器发生变化,它们也会始终使用相同的 URL 和 IP 地址。
防火墙 - 无 HA 功能,可将其视为可选项。防火墙通常用于实现安全要求。
负载平衡器 - 负载平衡器用于管理其所支持应用程序的虚拟 IP 地址。传送到该虚拟 IP 地址的所有流量都将定向到可接收这些流量的活动应用程序。在这种情况下,将使用 HAProxy。
ThingWorx 连接服务器 - 接收来自资产的 Web 套接字流量并将其传送到 ThingWorx Platform。连接服务器可在群集配置中运行。将资产定向至特定连接服务器后,应始终使用同一连接服务器。如果该服务器离线,则应将资产重定向到另一个可用的连接服务器。
ThingWorx Foundation - 接收所有用户和资产流量。
ThingWorx 存储库 - 这些存储库为必需的存储位置,如 ThingworxPlatformThingworxStorageThingworxBackupStorage,以及为支持实现而添加的任何其他存储位置。对于群集环境,存储文件夹必须存在于公用存储位置,且所有 ThingWorx 服务器都可以同等地访问该位置。
Apache ZooKeeper - ZooKeeper 是一种集中式协调服务,用于 ThingWorx Connection Server 和 Ignite 服务发现、单独选举和分布式协调。
Apache Ignite - Ignite 提供分布式内存缓存,用于在群集中的服务器之间共享状态。在此配置中,Ignite 嵌入 ThingWorx Platform 中,而不是单独安装。
PostgreSQL - 对于 HA 配置,PostgreSQL 将通过热备用节点配置中的两个或多个服务器节点进行操作。其中一个节点可接收所有写入流量,而其他节点可接收所有读取流量。在所有节点之间激活流式复制,从而保持每个节点处于最新状态。
Pgpool-II - 仅在 PostgreSQL HA 配置中使用。Pgpool-II 节点会接收 ThingWorx 请求 (读取和写入),并将其定向到相应的 PostgreSQL 节点。Pgpool-II 还会监控每个 PostgreSQL 节点的健康状况,并可在其中一个节点处于离线状态时启动故障转移并对任务进行重定向。
Microsoft SQL Server - 使用 Microsoft 故障转移以确保至少一台 MS SQL Server 处于在线状态且可用。
InfluxDB - ThingWorx 群集配置不需要 InfluxDB 实施。如果需要满足实现的提取要求,请确保已对 HA 进行了配置。
有关详细信息,请参阅 ThingWorx 帮助中心的 ThingWorx 高可用性
安装过程
完成下文中的操作步骤:
先决条件
在开始之前,请满足以下先决条件:
查看ThingWorx Apps 产品要求
查看 ThingWorx 9.0 系统要求。有关详细信息,请参阅 ThingWorx 帮助中心的 9.0 系统要求群集系统要求
安装和配置 ThingWorx 用于高可用性环境
请完成以下步骤:
1. 安装和配置 Apache ZooKeeper,具体步骤参见 ThingWorx 帮助中心的 安装和配置 ZooKeeper 用于 ThingWorx HA
2. 安装和配置数据库,具体步骤参见 ThingWorx 帮助中心的 PostgreSQL 高可用性Microsoft SQL Server 高可用性
3. 请勿安装 Apache Ignite。
4. 在两台服务器上安装和配置 ThingWorx 9.0,具体步骤参见 ThingWorx 帮助中心的 配置 ThingWorx Foundation 用于群集
5. 在每台 ThingWorx 服务器上配置 platform-settings.json 文件时,请确保设置了以下值:
cache 部分中:
client-mode 设置为 false
read-from-backup 设置为 true
cache-mode 设置为 REPLICATED
backups 设置为 0
BasicSettings 部分中,将 ScriptTimeout 设置更新为 500。
有关其他设置的信息,请参阅 ThingWorx 帮助中心的 ThingWorx HA 的平台设置
6. 确保 /ThingWorxStorage/ThingWorxBackupStorage 文件夹位于两台 ThingWorx 服务器均可访问的公用位置。有关详细信息,请参阅 ThingWorx Foundation 文件存储
7. 安装和配置 ThingWorx Connection Server,具体步骤参见 ThingWorx 帮助中心的 ThingWorx Connection Server for ThingWorx HA
8. 安装并配置 HAProxy 作为负载平衡器,具体步骤参见 ThingWorx 帮助中心的 ThingWorx 高可用性负载平衡器HAProxy 示例
9. 将以下 HAProxy timeout 设置更新为值 500s
timeout connect
timeout client
timeout server
10. 配置 ThingWorx 以启用扩展导入。有关详细信息,请参阅 ThingWorx 帮助中心的 导入扩展
11. 在导入 ThingWorx Apps 扩展之前,必须在安装 ThingWorx Platform 过程中导入 ThingWorx Remote Access Extension。有关详细信息,请参阅 ThingWorx 帮助中心的 Remote Access
导入扩展文件。
ThingWorx Apps 作为 ThingWorx 扩展导入到现有 ThingWorx 9.x Platform 安装。
* 
在高可用性群集环境中,只需在其中一台 ThingWorx 服务器上导入 ThingWorx 扩展。有关详细信息,请参阅 ThingWorx 帮助中心的 在 ThingWorx HA 中管理 ThingWorx 扩展
1. 确保已导入 ThingWorx Remote Access Extension。有关详细信息,请参阅 ThingWorx 帮助中心的 远程访问
2. 下载并解压缩以下文件:ThingWorx-Apps-<版本>-extension-bundle
要查找下载文件,请前往 PTC 软件下载页面,并展开以下文件夹:ThingWorx Foundation > Release 9.0 > ThingWorx Manufacturing Apps Extension 或 ThingWorx Service Apps Extension
3. 导入 ThingWorx Apps 扩展文件。扩展文件必须按照以下顺序导入:
a. ThingWorx-Apps-<版本>-extension-dependencies
b. ThingWorx-Apps-<版本>-extension
要导入扩展文件:
a. ThingWorx Composer 中,导航至“导入/导出” > “导入”
b. “导入”窗口中,从“导入选项”列表中选择“扩展”
c. “文件名”下面,单击“浏览”。找到并选中扩展文件。
d. 单击“导入”。导入完成后,单击“关闭”
e. 根据需要重复执行上述步骤。
4. 导入完成后,如果要查看扩展,请导航至“管理” > “扩展”
导入可选扩展
以下可选扩展可与 ThingWorx Apps 一起导入,并从 PTC 软件下载页面上的相同位置予以下载:
ThingWorx-Asset-Remoting-<版本>-extension - 允许您使用 Asset Advisor 中的 Remote Access and Control 功能。有关详细信息,请参阅 Remote Access and Control
ThingWorx-Apps-<版本>-extension-factory-demo - 用于为制造计划活动提供示例实施。有关详细信息,请参阅 生产计划示例实施
以下可选扩展可与 ThingWorx Apps 一起导入,并可从以下位置下载:ThingWorx Foundation > Release 9.0 > ThingWorx Utilities > Most Recent Datecode
ThingWorx-Software-Content-Management-<版本> - 有关详细信息,请参阅 Software Content Management
* 
ThingWorx Utilities Core 扩展包是 ThingWorx Software Content Management 扩展的先决条件,必须首先导入。如果尚未导入 ThingWorx Utilities Core 扩展包,请先进行此操作,然后再导入 ThingWorx Software Content Management 扩展。有关详细信息,请参阅 ThingWorx Utilities 帮助中心的 ThingWorx Utilities 安装
以下可选扩展可与 ThingWorx Apps 一起导入,并可从以下位置下载:ThingWorx Foundation > Release 8.5 > ThingWorx Rockwell FactoryTalk MES ExtensionThingWorx Apps 9.0 支持此 8.5.0 扩展。
ThingWorx-Rockwell-FT-MES-8-5-0-Extension-Bundle - 有关详细信息,请参阅 ThingWorx Rockwell FactoryTalk MES 集成
采用之前导入 ThingWorx Apps 扩展所使用的相同方式导入可选扩展。
导入后数据库配置
导入 ThingWorx Apps 扩展后,请完成以下数据库配置。
1. 导航至以下数据库相应的数据库事物:PTC.SCA.SCO.PostgresDatabasePTC.SCA.SCO.MSSQLDatabase
2. “配置”下,为数据库设置合适的“JDBC 设置”,包括“JDBC 连接字符串”“数据库用户名”以及“数据库密码”等字段。如果使用与 ThingWorx 平台相同的数据库,则这三个字段应使用 platform-settings.json 文件中指定的相同值。
* 
在配置数据库事物之前,请确保 ThingWorx 中存在必要的 JDBC 驱动程序。ThingWorx 可使用 JDBC 驱动程序来连接任何兼容 JDBC 的数据库 (例如 SQL Server 和 MySQL 等)。如果数据库位于防火墙后面,也可以借助 ThingWorx Edge MicroServer 以及使用 OLEDB 和 ODBC 的ThingWorx Host/Resource 来连接。如果 ThingWorx 中不存在数据库的 JDBC 扩展,则可以通过下载驱动程序并将文件添加到以下位置来手动添加 JDBC 驱动程序:/<Tomcat 文件夹>/webapps/Thingworx/WEB-INF/lib。复制驱动程序后,必须重新启动 ThingWorx 服务器。
3. 单击“保存”以保存数据库事物。
4. 导航至 PTC.Factory.C_LaunchPointConfigurationThing_[发布版本] 事物。
5. “配置”下的 DatabaseConfigurationSettings 部分,编辑 DBConnection 字段以指向步骤 2 中配置的数据库事物。
6. 单击“保存”以保存启动点配置事物。
7. 导航至 PTC.SCA.SCO.DatabaseManager 事物。
8. “服务”下,执行 CreateTables 服务。
访问 ThingWorx Apps
要访问 ThingWorx Apps,请转至 ThingWorx 服务器上的以下 URL。将<端口>替换成您自己的端口号。
https://localhost:<端口>/Thingworx/FormLogin/Welcome
默认用户名为 Administrator。密码是您在 ThingWorx 安装和配置过程中指定的密码。