Part 4 - Installing and Configuring Tableau Server

This topic describes how to finish installing and configuring the baseline Tableau Server deployment. The procedure here continues with the AWS and Linux reference architecture example.

The Linux examples throughout the installation procedures show commands for RHEL-like distributions. Specifically the commands here have been developed with the Amazon Linux 2 distribution. If you are running the Ubuntu distribution, edit the commands accordingly.

Before you begin

You must prep and validate your environment as described in Part 3 - Preparing for Tableau Server Enterprise Deployment.

Install, configure, and tar PostgreSQL

This PostgreSQL instance hosts the external repository for the Tableau Server deployment. You must install and configure PostgreSQL before you install Tableau.

You can run PostgreSQL on Amazon RDS or on an EC2 instance. For more information about the differences between running the repository on RDS vs an EC2 instance, see Tableau Server External Repository (Linux(Link opens in a new window)).

By way of example, the procedure below shows how to install and configure Postgres on an Amazon EC2 instance. The example shown here is a generic installation and configuration for PostgreSQL in the reference architecture. Your DBA should optimize your PostgreSQL deployment based on the size of your data and performance needs.

Requirements: Note that you must be running PostgreSQL 1.6 and you must install the uuid-ossp module.

PostgreSQL versioning

You must install compatible major versions of PostgreSQL for the Tableau Server external repository. Additionally, minor versions must also meet minimum requirements.

Tableau Server versions PostgreSQL minimum compatible versions
2021.2.3 - 2021.2.8

2021.3.0 - 2021.3.7

2021.4.0 - 2021.4.3

12.6
2021.2.10 - 2021.2.14

2021.3.8 - 2021.3.13

2021.4.4 - 2021.4.8

12.8
2021.2.15 - 2021.2.16

2021.3.14 - 2021.3.15

2021.4.9 - 2021.4.10

12.10
2021.2.17 - 2021.2.18

2021.3.16 - 2021.3.17

2021.4.11 - 2021.4.12

12.11
2021.3.26

2021.4.23

12.15
2022.1.0 13.3
2022.1.1 - 2022.1.3 13.4
2022.1.4 - 2022.1.6 13.6
2022.1.7 - 2022.1.16

2022.3.0 - 2022.3.7

2023.1.0 - 2023.1.4

13.7
2022.1.17 - 2022.1.19

2022.3.8 - 2022.3.19

2023.1.5 - 2023.1.15

2023.3.0 - 2023.3.8

13.11
2022.3.20 - 2022.3.x

2023.1.16 - 2023.1.x

2023.3.9 - 2023.3.x

13.14
2024.0 - 2024.x 15.6

Install PostgreSQL

This example installation procedure describes how to install PostgreSQL version 13.6.

Sign-in to the EC2 host that you created in the previous Part.

  1. Run update to apply latest fixes to the Linux OS:

    sudo yum update

  2. Create and edit the file, pgdg.repo. in the /etc/yum.repos.d/ path. Populate the file with the following configuration information:

    [pgdg13]
    name=PostgreSQL 13 for RHEL/CentOS 7 - x86_64
    baseurl=https://download.postgresql.org/pub/repos/yum/13/redhat/rhel-7-x86_64
    enabled=1
    gpgcheck=0

  3. Install Posgres 13.6:

    sudo yum install postgresql13-server-13.6-1PGDG.rhel7.x86_64

  4. Install the uuid-ossp module:

    sudo yum install postgresql13-contrib-13.6-1PGDG.rhel7.x86_64

  5. Initialize Postgres:

    sudo /usr/pgsql-13/bin/postgresql-13-setup initdb

Configure Postgres

Finish the base installation by configuring Postgres:

  1. Update the pg_hba configuration file, /var/lib/pgsql/13/data/pg_hba.conf, with the following two entries. Each entry must include the mask of the subnets where your Tableau Servers will be running: 

    host all all 10.0.30.0/24 password

    host all all 10.0.31.0/24 password

  2. Update the PostgreSQL file, /var/lib/pgsql/13/data/postgresql.conf, by adding this line:

    listen_addresses = '*'

  3. Configure to start Postgres on reboot:

    sudo systemctl enable --now postgresql-13

  4. Set superuser password:

    sudo su - postgres 

    psql -c "alter user postgres with password 'StrongPassword'"

    Note: Set a strong password. Do not use 'StrongPassword' as shown in the example here.

    exit

  5. Restart Postgres:

    sudo systemctl restart postgresql-13

Take PostgreSQL Step 1 tar backup

Create a tar back up of the PostgreSQL configuration. Creating a tar snapshot of the current configuration will save you time if you encounter failures as you continue the deployment.

We'll refer to this as the "Step 1" back up.

On PostgreSQL host:

  1. Stop the Postgres database instance:

    sudo systemctl stop postgresql-13

  2. Run the following commands to create the tar backup:

    sudo su
    cd /var/lib/pgsql
    tar -cvf step1.13.bkp.tar 13
    exit
  3. Start Postgres database:

    sudo systemctl start postgresql-13

Restore Step 1

Restore to Step 1 if the Tableau Server initial node fails during installation.

  1. On the computer running Tableau, run the obliterate script to completely remove Tableau Server from the host:

    sudo /app/tableau_server/packages/scripts.<version_code>/./tableau-server-obliterate -a -y -y -y -l

  2. Restore the PostgreSQL Stage 1 tar. On the computer running Postgres, run the following commands:

    sudo su
    systemctl stop postgresql-13
    cd /var/lib/pgsql
    tar  -xvf step1.13.bkp.tar
    systemctl start postgresql-13
    exit

Resume the installation process of installing the initial node of Tableau Server.

Before you install

If you are deploying Tableau according to the example AWS/Linux implementation described in this Guide, then you may be able to run the automated installation script, TabDeploy4EDG. The TabDeploy4EDG script automates the example installation of the four-node Tableau deployment that is described in procedures that follow. See Appendix - AWS Deployment Toolbox.

Install initial node of Tableau Server

This procedure describes how install the initial node of Tableau Server as defined by the reference architecture. With the exception of the package installation and the initialization of TSM, the procedure here uses the TSM command line whenever possible. In addition to being platform-agnostic, using TSM CLI allows a more seamless installation into virtualized and headless environments.

Run installation package and initialize TSM

Sign in to the Node 1 host server.

  1. Run update to apply latest fixes to the Linux OS:

    sudo yum update

  2. Copy the installation package from Tableau Downloads page(Link opens in a new window) to the host computer that will be running Tableau Server.

    For example, on a computer running Linux RHEL-like operating system, run

    wget https://downloads.tableau.com/esdalt/2022<version>/tableau-server-<version>.rpm

    where <version> is the release number.

  3. Download and install dependencies:

    sudo yum deplist tableau-server-<version>.rpm | awk '/provider:/ {print $2}' | sort -u | xargs sudo yum -y install

  4. Create the /app/tableau_server path in the root directory:

    sudo mkdir -p /app/tableau_server

  5. Run the installation program and specify the /app/tableau_server install path. For example, on a Linux RHEL-like operating system, run:

    sudo rpm -i --prefix /app/tableau_server tableau-server-<version>.x86_64.rpm

  6. Change to the /app/tableau_server/packages/scripts.<version_code>/ directory and run the initialize-tsm script located there:

    sudo ./initialize-tsm -d /data/tableau_data --accepteula

  7. After initialization is complete, exit the shell:

    exit

Activate and register Tableau Server

  1. Sign in to the Node 1 host server.

  2. Provide the Tableau Server product key(s) in this step. Run the following command for each license key that you have purchased:

    tsm licenses activate -k <product key>

  3. Create a json registration file with the format as shown here:

    {
    "zip" : "97403",
    "country" : "USA",
    "city" : "Springfield",
    "last_name" : "Simpson",
    "industry" : "Energy",
    "eula" : "yes",
    "title" : "Safety Inspection Engineer",
    "company_employees" : "100",
    "phone" : "5558675309",
    "company" : "Example",
    "state" : "OR",
    "opt_in" : "true",					
    "department" : "Engineering",
    "first_name" : "Homer",
    "email" : "homer@example.com"
    }	
  4. After saving changes to the file, pass it with the --file option to register Tableau Server:

    tsm register --file path_to_registration_file.json

Configure identity store

Note: If your deployment will make use of external storage for the Tableau File Store, you will need to enable External File Store before you configure the identity store. See Install Tableau Server with External File Store (Linux(Link opens in a new window)).

The default reference architecture uses a local identity store. Configure the initial host with local identity store by passing the config.json file with the tsm settings import command.

Import the config.json file according to your operating system:

The config.json file is included in the scripts.<version> directory path (for example, scripts.20204.21.0217.1203), and is formatted to configure the identity store.

Run the following command to import the config.json file:

tsm settings import -f /app/tableau_server/packages/scripts.<version_code>/config.json

Configure external Postgres

  1. Create an external database json file with the following configuration settings:

    {
    "flavor":"generic",
    "masterUsername":"postgres",
    "host":"<instance ip address>",
    "port":5432
    }
  2. After saving changes to the file, pass the file with the following command:

    tsm topology external-services repository enable -f <filename>.json --no-ssl

    You will be prompted for the Postgres master username password.

    The option, --no-ssl, configures Tableau to use SSL/TLS only when the Postgres server is configured for SSL/TLS. If Postgres is not configured for SSL/TLS, then the connection is not encrypted. Part 6 - Post-Installation Configuration describes how to enable SSL/TLS for the Postgres connection after you have completed the first phase of deployment.

  3. Apply the changes.

    Run this command to apply the changes and restart Tableau Server:

    tsm pending-changes apply

  4. Delete the configuration file that you used in Step 1.

Finish Node 1 installation

  1. After Tableau Server has installed you must initialize the server.

    Run the following command:

    tsm initialize --start-server --request-timeout 1800

  2. When initialization is finished, you must create a Tableau Server administrator account.

    Unlike the computer account that you are using to install and manage TSM operating-system components, the Tableau Server administrator account is an application account that used for creating Tableau Server users, projects, and sites. The Tableau Server administrator also applies permissions to Tableau resources. Run the following command to create the initial administrator account. In the following example, the user is called tableau-admin:

    tabcmd initialuser --server http://localhost --username "tableau-admin"

    Tabcmd will prompt you to set a password for this user.

Verification: Node 1 configuration

  1. Run the following command to verify that TSM services are running:

    tsm status -v

    Tableau should return the following:

    external: 
    Status: RUNNING
    'Tableau Server Repository 0' is running (Active Repository).
    node1: localhost
    Status: RUNNING
    'Tableau Server Gateway 0' is running.
    'Tableau Server Application Server 0' is running.
    'Tableau Server Interactive Microservice Container 0' is running.
    'MessageBus Microservice 0' is running.
    'Relationship Query Microservice 0' is running.
    'Tableau Server VizQL Server 0' is running. 
    ...

    All of the services will be listed.

  2. Run the following command to verify that Tableau administrative site is running:

    curl localhost

    The first few lines should show Vizportal html, similar to this:

    <!DOCTYPE html>
    <html xmlns:ng="" xmlns:tb="">
    <head ng-csp>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="initial-scale=1, maximum-scale=2, width=device-width, height=device-height, viewport-fit=cover">
    <meta name="format-detection" content="telephone=no">
    <meta name="vizportal-config ...

Take Step 2 tar backups

After you have verified the initial installation, take two tar backups:

  • PostgreSQL
  • Tableau initial node (Node 1)

In most cases, you can recover your installation of the initial node by restoring these tar files. Restoring the tar files is much quicker than reinstalling and reinitializing the initial node.

Create Step 2 tar files
  1. On the initial node of Tableau, stop Tableau:

    tsm stop

    Wait for Tableau to stop before continuing to the next step.

  2. On PostgreSQL host, stop the Postgres database instance:

    sudo systemctl stop postgresql-13

  3. Run the following commands to create the tar backup:

    sudo su
    cd /var/lib/pgsql
    tar -cvf step2.13.bkp.tar 13
    exit
  4. Verify that the Postgres tar file is created with root permissions:

    sudo ls -al /var/lib/pgsql

  5. On the Tableau host, stop Tableau administrative services:

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services
  6. Run the following commands to create the tar backup:

    cd /data
    sudo tar -cvf step2.tableau_data.bkp.tar tableau_data	
  7. On the Postgres host, start the Postgres database:

    sudo systemctl start postgresql-13

  8. Start Tableau administrative services:

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services
  9. Run the tsm status command to monitor TSM state before restarting.

    In most cases, the command will first return a status of DEGRADED or ERROR. Wait a few minutes and run the command again. If the status of ERROR or DEGRADED is returned, continue waiting. Do not attempt to start TSM until the status, STOPPED is returned. And then run the following command:

    tsm start

Restore Step 2

This process restores the Tableau Node 1 and the Postgres instance to Step 2. After you have restored to this step, you can then redeploy the remaining Tableau Nodes.

  1. Stop the tsm services on the initial Tableau host (Node 1):

    tsm stop

  2. Stop Tableau administrative services on all nodes of the Tableau Server deployment. Run the following command on each node, in order (Node 1, Node 2, and then Node 3):

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services
  3. After Tableau services have stopped, restore the PostgreSQL Step 2 tar. On the computer running Postgres, run the following commands:

    • sudo su
      systemctl stop postgresql-13
      cd /var/lib/pgsql
      tar  -xvf step2.13.bkp.tar
      systemctl start postgresql-13
      exit
  4. Restore the Tableau Step 2 tar. On the initial Tableau host, run the following commands:

    cd /data
    sudo rm -rf tableau_data
    sudo tar  -xvf step2.tableau_data.bkp.tar
  5. On the Tableau Node 1 computer, remove the following files:

    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/0/version-2/currentEpoch
    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/0/version-2/acceptedEpoch
    • sudo rm /data/tableau_data/data/tabsvc/tabadminagent/0/servicestate.json
  6. Start the Tableau administrative services:

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  7. Reload the Tableau systmctl files and then run start-administrative-services again:

    sudo su -l tableau -c "systemctl --user daemon-reload"

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  8. On Node 1, run the tsm status command to monitor TSM state before restarting.

    In some cases, you will get an error, Cannot connect to server.... This error occurs because the tabadmincontroller service has not restarted. Continue to run tsm status periodically. If this error does not go away after 10 minutes, run the start-administrative-services command again.

    After a few moments, the tsm status command will return a status of DEGRADED, and then ERROR. Do not start TSM until the status, STOPPED is returned. And then run the following command:

    tsm start

Resume the installation process to install Tableau Server on remaining nodes.

Install Tableau Server on remaining nodes

To continue the deployment, copy the Tableau installer to each node.

Node configuration overview

This section describes the process to configure Nodes 2-4. The sections that follow provide detailed configuration and validation procedures for each step.

Installation of Tableau Server Nodes 2-4 requires that you generate, copy, and reference a bootstrap file during node installation.

To generate the bootstrap file, you run a TSM command on the initial node. You will then copy the bootstrap file to the target node, where you run it as part of the node initialization.

The following json content shows an example of a bootstrap file. (The certificate and crypto-related values have been truncated to make the example file easier to read.)

{
"initialBootstrapSettings" : {
	"certificate" : "-----BEGIN CERTIFICATE-----\r\...=\r\n-----END CERTIFICATE-----",
	"port" : 8850,
	"configurationName" : "tabsvc",
	"clusterId" : "tabsvc-clusterid",
	"cryptoKeyStore" : "zs7OzgAAAAIAAAABAAAAA...w==",
	"toksCryptoKeystore" : "LS0tLS1CRUdJTiBUT00tLS0tCjM5MDBh...L",
	"sessionCookieMaxAge" : 7200,
	"nodeId" : "node1",
	"machineAddress" : "ip-10-0-1-93.us-west-1.compute.internal",
	"cryptoEnabled" : true,
	"sessionCookieUser" : "tsm-bootstrap-user",
	"sessionCookieValue" : "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMTI4Q0JDLUhQ...",
	"sessionCookieName" : "AUTH_COOKIE"
	}
}

The bootstrap file includes connection-based validation to authenticate Node 1 and creates an encrypted channel for the bootstrap process. The bootstrap session is time-limited, and configuring and validating nodes is time consuming. Plan on creating and copying new bootstraps as you configure the nodes.

After you run the bootstrap file, you then sign in to the initial Tableau Server node and configure the processes for the new node. When you finish configuring the nodes, you must apply changes and restart the initial node. The new node is configured and started. As you add nodes, the configuration and restart of the deployment will take consecutively longer to complete.

The Linux examples throughout the installation procedures show commands for RHEL-like distributions. If you are running the Ubuntu distribution, edit the commands accordingly.

  1. Run update to apply latest fixes to the Linux OS:

    sudo yum update

  2. Download and install dependencies:

    sudo yum deplist tableau-server-<version>.rpm | awk '/provider:/ {print $2}' | sort -u | xargs sudo yum -y install

  3. Create the /app/tableau_server path in the root directory:

    sudo mkdir -p /app/tableau_server

  4. Run the installation program and specify the /app/tableau_server install path. For example, on a Linux RHEL-like operating system, run:

    sudo rpm -i --prefix /app/tableau_server tableau-server-<version>.x86_64.rpm

Generate, copy, and use the bootstrap file to initialize TSM

The following procedure shows how to generate, copy, and use a bootstrap file when initializing TSM on another node. In this example, the bootstrap file is named boot.json.

In this example, the host computers are running in AWS, where EC2 hosts are running Amazon Linux 2.

  1. Connect to the initial node (Node 1) and run the following command:

    tsm topology nodes get-bootstrap-file --file boot.json

  2. Copy the bootstrap file to Node 2.

    scp boot.json ec2-user@10.0.31.83:/home/ec2-user/

  3. Connect to Node 2 and switch to the Tableau Server scripts directory:

    cd /app/tableau_server/packages/scripts.<version_number>

  4. Run the initialize-tsm command and reference the bootstrap file:

    sudo ./initialize-tsm -d /data/tableau_data -b /home/ec2-user/boot.json --accepteula

  5. After initialize-tsm has completed, delete boot.json, and then exit or log out of the session.

Configure processes

You must configure the Tableau Server cluster on the node where the Tableau Server Administration Controller (TSM controller) is running. The TSM controller runs on the initial node.

Configure Node 2

  1. After you have initialized TSM using the bootstrap file on Node 2, sign in to the initial node.
  2. On the initial node (node1) run the following commands to configure processes on Node 2.:

    tsm topology set-process -n node2 -pr clustercontroller -c 1
    tsm topology set-process -n node2 -pr gateway -c 1
    tsm topology set-process -n node2 -pr vizportal -c 1
    tsm topology set-process -n node2 -pr vizqlserver -c 2
    tsm topology set-process -n node2 -pr cacheserver -c 2
    tsm topology set-process -n node2 -pr searchserver -c 1
    tsm topology set-process -n node2 -pr dataserver -c 2
    tsm topology set-process -n node2 -pr clientfileservice -c 1
    tsm topology set-process -n node2 -pr tdsservice -c 1
    tsm topology set-process -n node2 -pr collections -c 1
    tsm topology set-process -n node2 -pr contentexploration -c 1

    If you are installing version 2022.1 or later, add the Index and Search service as well:

    tsm topology set-process -n node2 -pr indexandsearchserver -c 1

    If you are installing version 2023.3 or later, only include the Index and Search service. Do not add the Search and Browse (searchserver) service

  3. Review the configuration before you apply it. Run the following command:

    tsm pending-changes list

  4. After you have verified that your changes are in the pending list (there will be other services in the pending list as well), apply the changes:

    tsm pending-changes apply

    The changes will require a restart. Configuration and restart will take some time.

  5. Verify Node 2 configuration. Run the following command:

    tsm status -v

Configure Node 3

Initialize TSM using the bootstrap process on Node 3, and then run the tsm topology set-process commands below.

There is a Coordination Service warning that will display each time you set a process. You can ignore this warning as you set the processes.

  1. After you initialize TSM using the bootstrap file on Node 3, sign in to the initial node (node1) and run the following commands to configure processes:

    tsm topology set-process -n node3 -pr clustercontroller -c 1
    tsm topology set-process -n node3 -pr clientfileservice -c 1
    tsm topology set-process -n node3 -pr backgrounder -c 4
    tsm topology set-process -n node3 -pr filestore -c 1

    If you are installing version 2022.1 or later, add the Index and Search service as well:

    tsm topology set-process -n node3 -pr indexandsearchserver -c 1
  2. Review the configuration before you apply it. Run the following command:

    tsm pending-changes list

  3. After you have verified that your changes are in the pending list (the list will include other services that are automatically configured), apply the changes:

    tsm pending-changes apply --ignore-warnings

    The changes will require a restart. Configuration and restart will take some time.

  4. Verify the configuration by running the following command:

    tsm status -v

Deploy coordination service ensemble to Nodes 1-3

For standard reference architecture four-node deployment, run the following procedure:

  1. Run the following commands on Node 1:

    tsm stop
    tsm topology deploy-coordination-service -n node1,node2,node3

    The process includes a restart of TSM, which will take some time.

  2. After the coordination service is deployed, start TSM:

    tsm start

Take Step 3 tar backups

After you have verified the installation, take four tar backups:

  • PostgreSQL
  • Tableau initial node (Node 1)
  • Tableau Node 2
  • Tableau Node 3
Create Step 3 tar files
  1. On the initial node of Tableau, stop Tableau:

    tsm stop

  2. After TSM has stopped, stop Tableau administrative services on each node. Run the following command on each node, in order (Node 1, Node 2, and then Node 3):

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services

  3. On PostgreSQL host, stop the Postgres database instance:

    sudo systemctl stop postgresql-12

  4. Run the following commands to create the tar backup:

    sudo su
    cd /var/lib/pgsql
    tar -cvf step3.12.bkp.tar 12
    exit
  5. Verify that Postgres tar file is created with root permissions:

    sudo ls -al /var/lib/pgsql

  6. On the Postgres host, start the Postgres database:

    sudo systemctl start postgresql-12

  7. Create the tar backup on Node 1, Node 2, and Node 3. Run the following commands on each node:

    • cd /data
      sudo tar -cvf step3.tableau_data.bkp.tar tableau_data
    • Verify that the Tableau tar file is created with root permissions:

      ls -al

  8. Start Tableau administrative services on each node in order (Node 1, Node 2, and then Node 3):

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  9. Run the tsm status command to monitor TSM state before restarting.

    In most cases, the command will return a status of DEGRADED, and then ERROR. Wait a few moments and run the command again. If the status of ERROR or DEGRADED is returned, continue waiting. Do not attempt to start TSM until the status, STOPPED is returned. And then run the following command:

    tsm start

Restore Step 3

This process restores the Tableau Node 1, Node 2, and Node 3. It also restores the Postgres instance to Step 3. After you have restored to this step, you can then deploy coordination service, Node 4, and then final node configurations.

  1. Stop the tsm service on the initial Tableau host (Node 1):

    tsm stop

  2. After TSM has stopped, stop Tableau administrative services on Node 1, Node 2, and Node 3. Run the following command on each node:

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services

  3. Restore the PostgreSQL Step 3 tar. On the computer running Postgres, run the following commands:

    sudo su
    systemctl stop postgresql-12
    cd /var/lib/pgsql
    tar -xvf step3.12.bkp.tar
    systemctl start postgresql-12
    exit
  4. Restore the Tableau Step 3 tar on Node 1, Node 2, and Node 3. Run the following commands on each Tableau node:

    cd /data
    sudo rm -rf tableau_data
    sudo tar  -xvf step3.tableau_data.bkp.tar
  5. On the Tableau Node 1 computer, remove the following files:

    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/1/version-2/currentEpoch
    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/1/version-2/acceptedEpoch
    • sudo rm /data/tableau_data/data/tabsvc/tabadminagent/0/servicestate.json

    If the shell returns a "file not found" error, you may need to change the path name to increment the number <n> in this section of the path: .../appzookeeper/<n>/version-2/....

  6. Restart the administrative services on Node 1, Node 2, and Node 3. Run the following commands on each node:

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

    sudo su -l tableau -c "systemctl --user daemon-reload"

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  7. On Node 1, run the tsm status command to monitor TSM state before restarting.

    In some cases, you will get an error, Cannot connect to server.... This error occurs because the tabadmincontroller service has not restarted. Continue to run tsm status periodically. If this error does not go away after 10 minutes, run the start-administrative-services command again.

    After a few moments, the tsm status command will return a status of DEGRADED, and then ERROR. Do not start TSM until the STOPPED status is returned. And then run the following command:

    tsm start

Resume the installation process to deploy coordination service on Nodes 1-3.

Configure Node 4

The process for configuring Node 4 is the same as Node 3.

Set the same processes as you set for Node 3, running the same set of commands as shown above, but specifying node4 in the commands rather than node3.

As with Node 3 verification, verify the Node 4 configuration by running tsm status -v.

Before you proceed, wait for the File Store process on Node 4 to finish synchronizing. The File Store service status will return is synchronizing until it finishes. When the File Store service status returns is running you can proceed.

Final process configuration and verification

The final step to process configuration is to remove redundant processes from Node 1.

  1. Connect to the initial node (node1).

  2. Decommission the file store on Node 1. This will cause a warning about removing the file store from a co-located controller. You can ignore the warning. Run the following command:

    tsm topology filestore decommission -n node1

  3. When file store is decommissioned, run the following command to remove the backgrounder process from Node 1:

    tsm topology set-process -n node1 -pr backgrounder -c 0

  4. Review the configuration before you apply it. Run the following command:

    tsm pending-changes list

  5. After you have verified that your changes are in the pending list, apply the changes:

    tsm pending-changes apply

    The changes will require a restart. Configuration and restart will take some time.

  6. Verify the configuration:

    tsm status -v.

    Before you proceed, wait for the File Store process on Node 4 to finish synchronizing. The File Store service status will return is synchronizing until it finishes. When the File Store service status returns is running you can proceed.

Perform backup

A full recovery of Tableau Server requires a backup portfolio that includes three components:

  • A backup file of the repository and file store data. This file is generated by the tsm maintenance backup command.
  • A topology and configuration export file. This file is generated by the tsm settings export command.
  • Authentication certificate, key, and keytab files.

For a full description of the backup and restore process, see the Tableau Server topic, Perform a Full Backup and Restore of Tableau Server (Linux(Link opens in a new window)).

At this stage of your deployment, all relevant files and assets that are required for a full restoration are included by running the tsm maintenance backup and tsm settings export commands.

  1. Run the following command to export the configuration and topology settings to a file called ts_settings_backup.json

    tsm settings export -f ts_settings_backup.json

  2. Run the following command to create a backup of the repository and file store data in a file named ts_backup-<yyyy-mm-dd>.tsbak. Ignore the warning about the file store not being on the controller node.

    tsm maintenance backup -f ts_backup -d --skip-compression

    Location of backup file:

    /data/tableau_data/data/tabsvc/files/backups/

  3. Copy both files and save them on a different storage asset that is not shared by your Tableau Server deployment.

Thanks for your feedback!Your feedback has been successfully submitted. Thank you!