Deploying tableau server in high availability environments
As tableau server usage increases, the requirement to ensure its continuous availability also rises. Strategies to assure constant availability is predominantly referred as high availability. These strategies necessitate that core components of tableau server must be redundant to reduce the chance of unplanned downtime. Realizing this goal requires deployment in a distributed environment and running unnecessary critical processes on separate servers.
If you’re configuring a Tableau Server system for high availability, the steps you perform are all designed to build in redundancy, thus reducing your potential downtime. The four areas that require redundancy are the data engine, repository, and gateway processes, and the primary Tableau Server, which runs the server licensing component. Because there must always be one active in the repository process, configuring the cluster is a multi-phased procedure that requires the primary Tableau Server to be stopped and restarted at certain points so that settings can take effect.
Achieving significant redundancy can be perceived by using a three-server cluster, but to achieve a fully redundant configuration, at least four servers are necessary.
The three node cluster
In this configuration, one node hosts the gateway, which paths request to the other two worker servers. These both worker servers run all of the server processes. Though all of the tableau server’s processes should be redundant, the three definite processes that must be made redundant are the gateway, the data engine processes, and the repository process. Prior to tableau server version 8, both workers have instances of the repository and data engine processes, but only one of the two workers was actively accepting requests. Now, both data engine processes actively accept requests, even though only one is considered as primary. In prior releases, the secondary worker has standby copies of the processes and is automatically promoted to achieve status if the main worker fails. This promotion is called fail-over.
A three-node system helps you reduce the primary’s vulnerability:
This configuration would look like the following Process Status table on the Server Status page.
In a three-node cluster, the Data Engine and Repository processes have been moved from the primary to a worker, and the primary is only running the Gateway and Search & Browse processes. In this configuration, if your active worker fails, the passive worker automatically becomes active.
There are still two things you can do to improve these three-node cluster: 1) Add a load balancer to interface with the three active gateways and 2) Create a backup to address the single point of failure: the primary.
The loss of a worker machine can occur without even making the cluster inaccessible. However, since there is only a single gateway machine, if that server goes offline, the cluster will be inaccessible to the users. To have a complete fault tolerance, a four-node cluster is required.
The four node cluster
In a four-node cluster, a second gateway machine is added to make that critical node redundant. However, this standby gateway server must be promoted to active status manually. There is currently no automatic fail-over for gateway machines.
The high availability setup process is similar to the basic cluster configuration detailed in the when and how to deploy server on multiple physical machines section of this post.
The steps to set up a high availability configuration are:
Install tableau server on the primary machine (note the IP address of this machine).
Stop the tableau server service on the primary machine.
Run the tableau server worker installer on the other machines including the cluster (the primary server IP is needed for this step).
Open the configuration utility.
Select the servers tab and click the add button.
In the add tableau server dialog box, type the IP address of the first worker.
Specify the number of each type of process.
Ensure that both the extract storage and repository storage are included in this host’s settings. Click OK.
Start the tableau server service on the primary machine.
View the server status and observe that the instances of the extract engine and repository on the new worker appear to be down. This will be resolved once the primary server has transmitted all the data for these processes to the new worker machine.
After the worker extract engine and repository processes switch from service down to service stand by, stop the tableau server service on the primary machine again.
Open the configuration utility on the primary server.
Clear the extract stored in the configuration utility on this host and also the repository storage check boxes for the primary server. Remove all other processes to configure this machine as a gateway only. Click OK.
Click the add button on the servers tab.
In the add tableau server dialog box, type the IP address of the second worker and specify the number of each type of process. Be sure to check both the extract storage and repository storage on this host’s settings. Click OK.
As an optional step, you can configure e-mail alerts about the cluster status from the e-mail alerts tab in the configuration utility.
Close the configuration utility and restart the tableau server service.
Once the service comes back up, check the status of the cluster of the tableau server maintenance page. You should see the IP address of the primary server listed with only the gateway service. You should also see the two worker server IP addresses listed with the remaining tableau server processes. One worker will have an active data engine and repository and the other worker will have standby copies of these processes.
The three-node configuration presented earlier may be augmented with a redundant gateway server to increase reliability. For information about making the gateway redundant and the manual fail-over process see the “configuring a highly available gateway” section of the tableau server administrator’s guide.
|Data Visualization and Dashboarding Fundamentals|
Get Updates on Tech posts, Interview & Certification questions and training schedules