导入 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 存储库 - 这些存储库为必需的存储位置,如 ThingworxPlatform、ThingworxStorage 和 ThingworxBackupStorage,以及为支持实现而添加的任何其他存储位置。对于群集环境,存储文件夹必须存在于公用存储位置,且所有 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 用于高可用性环境
请完成以下步骤:
3. 请勿安装 Apache Ignite。
5. 在每台 ThingWorx 服务器上配置 platform-settings.json 文件时,请确保设置了以下值:
◦ 在 cache 部分中:
▪ 将 client-mode 设置为 false。
▪ 将 read-from-backup 设置为 true。
▪ 将 cache-mode 设置为 REPLICATED。
▪ 将 backups 设置为 0。
◦ 在 BasicSettings 部分中,将 ScriptTimeout 设置更新为 500。
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 安装。
1. 确保已导入
ThingWorx Remote Access Extension。有关详细信息,请参阅
ThingWorx 帮助中心的
远程访问。
2. 下载并解压缩以下文件:ThingWorx-Apps-<版本>-extension-bundle
3. 导入 ThingWorx Apps 扩展文件。扩展文件必须按照以下顺序导入:
a. ThingWorx-Apps-<版本>-extension-dependencies
b. ThingWorx-Apps-<版本>-extension
要导入扩展文件:
a. 在 ThingWorx Composer 中,导航至 > 。
b. 在“导入”窗口中,从“导入选项”列表中选择“扩展”。
c. 在“文件名”下面,单击“浏览”。找到并选中扩展文件。
d. 单击“导入”。导入完成后,单击“关闭”。
e. 根据需要重复执行上述步骤。
4. 导入完成后,如果要查看扩展,请导航至 > 。
导入可选扩展
以下可选扩展可与
ThingWorx Apps 一起导入,并从
PTC 软件下载页面上的相同位置予以下载:
• ThingWorx-Apps-<版本>-extension-factory-demo - 用于为制造计划活动提供示例实施。有关详细信息,请参阅
生产计划示例实施。
以下可选扩展可与 ThingWorx Apps 一起导入,并可从以下位置下载: > > > 。
| ThingWorx Utilities Core 扩展包是 ThingWorx Software Content Management 扩展的先决条件,必须首先导入。如果尚未导入 ThingWorx Utilities Core 扩展包,请先进行此操作,然后再导入 ThingWorx Software Content Management 扩展。有关详细信息,请参阅 ThingWorx Utilities 帮助中心的
ThingWorx Utilities 安装。 |
以下可选扩展可与 ThingWorx Apps 一起导入,并可从以下位置下载: > > 。ThingWorx Apps 9.0 支持此 8.5.0 扩展。
采用之前导入 ThingWorx Apps 扩展所使用的相同方式导入可选扩展。
导入后数据库配置
导入 ThingWorx Apps 扩展后,请完成以下数据库配置。
1. 导航至以下数据库相应的数据库事物:PTC.SCA.SCO.PostgresDatabase 或 PTC.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 安装和配置过程中指定的密码。