Configure Tableau Server for High Availability with Coordination Service-Only Nodes

The Coordination Service is built on Apache ZooKeeper(Link opens in a new window), an open-source project, and coordinates activities on the server, guaranteeing a quorum in the event of a failure, and serving as the source of "truth" regarding the server topology, configuration, and state. The service is installed automatically on the initial Tableau Server node, but no additional instances are installed as you add additional nodes. Because the successful functioning of Tableau Server depends on a properly functioning Coordination Service, we recommend that for server installations of three or more nodes, you add additional instances of the Coordination Service by deploying a new Coordination Service ensemble. This provides redundancy and improved availability in the event that one instance of the Coordination Service has problems.

The Coordination Service can generate a large amount of I/O as it communicates with other components of the server, so if you are running Tableau Server on computers that meet or just exceed the minimum hardware requirements, you may want to install Tableau Server in a configuration that uses Coordination Service-only nodes. This means installing Coordination Service on nodes that run no other server processes, and removing Coordination Service from any nodes that are running other server processes. This procedure explains how to do this. You can also run the Coordination Service ensemble on the same nodes running other Tableau Server processes. For details on how to do that, see Deploy a Coordination Service Ensemble .

Important: The process to deploy a Coordination Service ensemble changed as of version 2020.1.0. If you are running an earlier version of Tableau Server, see the documentation for that version. You can find documentation for all supported versions here: Tableau Help(Link opens in a new window)

Prerequisite

Before proceeding with the procedures in this topic, complete the following prerequisites:

Note: This operation includes steps that you may need to perform using the TSM command line. To use the TSM CLI you need administrator access to the command line on one of the nodes in your installation and TSM administrator credentials to run TSM commands.

Deploy an ensemble on Coordination Service-only nodes

One way to accommodate the high I/O impact of the Coordination Service is to deploy an ensemble on nodes that only run the Coordination Service and the Cluster Controller. The following steps illustrate how to deploy a Coordination Service ensemble on an existing multi-node Tableau Server cluster.

Note: For a core-based Tableau Server license, Coordination Service-only nodes do not count against the total count of licensed cores.

  1. Add additional nodes to your cluster.

    See Install and Configure Additional Nodes.

  2. If you added the new nodes using the TSM CLI, you need to configure the nodes with Cluster Controller (this step is not necessary if you added the nodes using the TSM Web UI because Cluster Controller is automatically added when you add a node with the Web UI).

    On the initial node, open a command prompt as administrator.

  3. From the initial node of the cluster, configure the new nodes with an instance of the Cluster Controller:

    tsm topology set-process -pr clustercontroller -n <node4> -c 1

    tsm topology set-process -pr clustercontroller -n <node5> -c 1

    tsm topology set-process -pr clustercontroller -n <node6> -c 1

    If prompted, sign in as a TSM administrator.

  4. Apply the configuration changes. If the pending changes require a server restart, the pending-changes apply command will display a prompt to let you know a restart will occur. This prompt displays even if the server is stopped, but in that case there is no restart. You can suppress the prompt using the --ignore-prompt option, but this does not change the restart behavior. If the changes do not require a restart, the changes are applied without a prompt. For more information, see tsm pending-changes apply.

    tsm pending-changes apply

    A warning about deploying a Coordination Service ensemble displays because you have deployed a multi-node cluster. If this is the only warning, you can safely override it using the --ignore-warnings option to apply the configuration changes in spite of the warning.

                                tsm pending-changes apply --ignore-warnings
                            
  5. Confirm that all nodes are up and running:

    tsm status -v

  6. On the initial node of the cluster, open a terminal session and type this command to stop Tableau Server:

    tsm stop

  7. Get the node IDs for each node in the cluster:

    tsm topology list-nodes -v

  8. Use the tsm topology deploy-coordination-service command to add a new Coordination Service ensemble by adding the Coordination Service to specified nodes. You must specify the node(s) that the Coordination Service should be added to. The command also makes the new ensemble the "production" ensemble (the ensemble in use) and removes the old ensemble.

    Note: A "y/n" prompt displays confirming that a server restart will take place. To run the command without input, include the --ignore-prompt option.

    For example, deploy the Coordination Service to three nodes of a six-node cluster:

    tsm topology deploy-coordination-service -n <node4,node5,node6>

    Wait until the command completes and you are returned to the system prompt.

  9. Start Tableau Server:

    tsm start

Thanks for your feedback!