Prerequisites before Installing ThingWorx HA
For a ThingWorx HA system, there are additional configurations to do before installing ThingWorx.
• Platform Settings for ThingWorx HA
• File Storage for ThingWorx HA
Platform Settings for ThingWorx HA
As with all ThingWorx deployments, a ThingWorx HA deployment requires the
platform-settings.json file to exist in the
ThingworxPlatform storage location. All ThingWorx servers in the HA deployment must be able to access the same
platform-settings.json file or an identical copy of it. Suggestions to manage this requirement is covered below in
File Storage for ThingWorx HA.
Details on
platform-settings.json can be found in the specific version of the
Installing ThingWorx guide to be deployed and in the
platform-settings.json file.
For a ThingWorx HA system, the most relevant settings are covered below. These and others HA Settings are discussed in the documentation mentioned above, but the following settings will probably be modified for the ThingWorx HA system to work.
• Basic Settings
◦ EnableHA - Whether or not HA settings in platform-settings.json are applied. The HA Settings are applied when the value is true.
password – password for the above database schema user.
• HA Settings
◦ CoordinatorHosts – A comma-delimited list of ZooKeeper servers that make up the ZooKeeper service used in the ThingWorx HA configuration. The string pattern is <IP address>:<port number>. (for example, “127.0.0.1:2181, 127.0.0.2:2181”)
◦ LoadBalancerBase64EncodedCredentials– A base 64 encoded string in the format <user>:<unique password>. When the load balancer connects to the ThingWorx instances to check for leader status, it should provide the same encoded credentials.
• Persistence Provider Package Configurations – For an effective HA configuration, ThingWorx and its database should not be operating on the same server. Whether the database is PostgreSQL or MS SQL Server, these settings will probably need to be changed from the default values.
◦ jdbcUrl – the jdbc url used by ThingWorx to connect to the database.
◦ username – the database schema user that either owns or has privileges to the ThingWorx schema.
◦ password – password for the above database schema user.