This section explains how to achieve high availability (HA) in the License Manager. This post-installation task is optional but necessary if you want to avoid having a single point of failure in the production environment of Denodo.
When a Denodo component starts (e.g. a Virtual DataPort server, the Scheduler server…), it requests permission to the License Manager to run. To do this, the component sends an HTTP request to the License Manager with details about the host where the component is going to run (host name, IP address, number of cores, etc.). If approved, the component starts.
Periodically, each component sends a request to the License Manager to keep running. If for some reason, the License Manager does not respond (e.g. the host where the License Manager runs is down), there is a grace period of 5 days. During this period, the Denodo server still runs normally and it keeps trying to renew the license. After 5 days of the License Manager not responding, the component will shut down. Note that during the grace period, the component will still run. However, if you stop it, you will not be able to start it again because a Denodo component will only start if it reaches the License manager.
In this architecture, the License Manager is the single point of failure so we recommend:
Setting up a secondary License Manager in a different host.
Making all the Denodo Platform servers to connect to the License Manager through a load balancer.
The License Manager supports the active-passive approach. This means that the load balancer has to be configured to redirect all the requests to the primary License Manager; and if the primary License Manager fails, to send the requests to the secondary License Manager.
Your license must allow running two License Manager servers in active-passive HA configuration.
Step #1: Configuring the Solution Manager Installations for High Availability¶
To do this, follow these steps:
On a separate computer, install the Solution Manager. This will be the secondary node.
For this secondary installation, use the same license file you used for the primary Solution Manager.
In this secondary node, install the same update of Solution Manager that is installed in the primary node.
Check that the clocks of the primary computer and the secondary computer are in sync. On Windows, check that the option Synchronize your clock is enabled in both computers. On Linux, check that the Network Time Protocol (NTP) service is enabled.
The clocks of these computers need to be in sync as much as possible. That is, both computers must be set to the same time and date. Otherwise, the Denodo components may not be able to retrieve a license properly. Not having the clocks synchronized may cause the Virtual DataPort servers to remain in “grace period” or shutting down when reaching the grace period.
Log in to the Solution Manager administration tool of the primary node and configure it to use an external database. The section Setting-Up an External Database explains how to do this.
The License Manager of this installation will be the primary License Manager.
Log in to the Solution Manager administration tool of the secondary node and configure it to use the same external database as in step #1.
In the secondary node, after configuring the external database, stop all the components, except the License Manager server. The Solution Manager is not meant to be used on a cluster, only the License Manager is.
The section Updating Solution Manager with High Availability provides best practices regarding how to install updates on a cluster of License Managers.
Step #2: Configuring the Load Balancer for High Availability¶
Do these changes in the configuration of the load balancer of your organization:
Configure the two License Managers on an active-passive configuration. By default, the License Manager runs on the port 10091.
To detect if the primary License Manager server is up, send a GET request to
https://<Solution Manager host>:10091/pingLicenseManager(see Ping to Solution Manager Server for more details). If the server is up and configured correctly, this endpoint returns the HTTP code 200. Otherwise, the request fails.
In the load balancer, only configure the License Manager server to work with high availability, not the Solution Manager server nor its administration tool. They are not designed to run on a cluster.
Step #3: Configuring the Denodo Platform Installations¶
Configure all the Denodo Platform installations to point to the virtual host name defined for both License Managers, in the load balancer. The page Register the Denodo Servers in the License Manager explains how to do it.