Skip to content

Installing Tableau Server Version 2023.1.6

This section provides the steps to install and configure Tableau Server (Version 2023.1.6) in a Linux environment.

Prerequisites

Note

Ensure that a full backup is performed before proceeding with the installation or upgrade.

The following conditions must be met to install Tableau Server version 2023.1.6:

For more information, refer to the official Tableau Server System Requirements.

License Management

Note

Ensure you deactivate the license before reinstalling Tableau or reformatting the VM to prevent it from becoming unusable.

  • Run the following commands to deactivate the license:
su - veservice
LICENSEKEY_INTERACTOR="xxxx"
LICENCEKEY_VIEWER="xxxx"
USERNAME="veservice"
PASSWORD="clcm"
tsm licenses deactivate -k $LICENCEKEY_VIEWER -u $USERNAME -p $PASSWORD
tsm licenses deactivate -k $LICENSEKEY_INTERACTOR -u $USERNAME -p $PASSWORD
tsm restart
  • Run the following commands to activate the license:
su - veservice
LICENSEKEY_INTERACTOR="xxxxx"
LICENCEKEY_VIEWER="xxxx"
USERNAME="veservice"
PASSWORD="clcm"
tsm licenses activate -k $LICENCEKEY_VIEWER -u $USERNAME -p $PASSWORD
tsm licenses activate -k $LICENSEKEY_INTERACTOR -u $USERNAME -p $PASSWORD
  • Run the following command to check the license status:
tsm licenses list
  • Run the following command to check tableau status:
tsm status -v

To install the Tableau Server version 2023.1.6, follow the steps:

  1. Create the following 3 Virtual Machines with the specified resources:

    Server CPU Memory Storage
    tableau-01 32 128 GB 100 GB SSD + 500 GB SSD
    tableau-02 32 128 GB 100 GB SSD + 500 GB SSD
    tableau-03 32 128 GB 100 GB SSD + 500 GB SSD

    Server

  2. Configure the network and security settings on each node by executing the following commands.

    nmcli c reload ens192
    
    nmcli c up ens192
    
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    
    setenforce 0
    
    systemctl stop firewalld
    
    systemctl disable firewalld
    

    Update the /etc/hosts file to match your configuration based on the environment: vi /etc/hosts. Host

  3. Create a directory for tableau-01 and upload the TableauServer-2023-1-6-DomainSPA-x86_64.rpm file to the /tmp/tableau directory.

    mkdir /tmp/tableau
    upload: TableauServer-2023-1-6-DomainSPA-x86_64.rpm to /tmp/tableau
    upload: tableau_ticket_provider-0.7.13.tgz, rename to tableau_ticket_provider.tgz
    
    ssh-keygen
    ssh-copy-id worker01 ssh-copy-id worker02
    
    scp TableauServer-2023-1-6-DomainSPA-x86_64.rpm worker01:/tmp/tableau/
    scp TableauServer-2023-1-6-DomainSPA-x86_64.rpm worker02:/tmp/tableau/
    
  4. Update the disk configuration based on your environment for each node.

    VIRTUAL_DISK_NAME="/dev/sdb"                #lsblk, update according to environment
    echo yes|mkfs.ext4 /dev/sdb                 #lsblk, update according to environment
    mkdir -p /home/sdb                         #update according to environment
    mount /dev/sdb  /home/sdb
    echo `blkid /dev/sdb | awk '{print $2}' | sed 's/\"//g'` /home/sdb ext4 defaults 0 0 >> /etc/fstab             #update according to environment
    useradd veservice
    echo "clcm" | passwd veservice --stdin
    chmod -v u+w /etc/sudoers
    echo "Add super permission to user veservice..."
    echo "veservice  ALL=(ALL)  NOPASSWD: ALL"  >>/etc/sudoers
    chown veservice:veservice /home/veservice/
    

Deploying Tableau Server on tableau-01

  1. Set up environment variables and passwords on tableau-01.

    USERNAME="veservice"
    PASSWORD="clcm"
    TECHUSER_PWD="clcm"
    DATAVOLUME="/home/sdb"                   #update according to environment 
    TSM_ACTIVATED="not_yet"
    PACKAGE_PATH="/tmp/tableau/"
    TBL_PGSQL_DRIVER="postgresql-42.6.0.jar"
    TBLSRV_INSTALLER="TableauServer-2023-1-6-DomainSPA-x86_64.rpm"
    LICENSEKEY_INTERACTOR="<add-licensekey-interactor>"         #update according to environment         
    LICENCEKEY_VIEWER="<add-licensekey-viewer>"                         #update according to environment 
    MINDGATE_IP="<ip-address>"                                      #update according to environment, wait to mindgate install
    CONTROLLER_IP="<ip-address>"                        #update according to environment
    NODE2_IP="<ip-address>"                    #update according to environment
    NODE3_IP="<ip-address>"                          #update according to environment
    echo "$USERNAME:${PASSWORD}" | sudo chpasswd
    
  2. Install Python 3.8 on tableau-01.

    #install python3.8
    sudo yum -y install epel-release
    sudo yum -y update
    sudo reboot
    sudo yum -y groupinstall "Development Tools"
    sudo yum -y install openssl-devel bzip2-devel libffi-devel xz-devel
    gcc --version
    sudo yum -y install wget
    wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz
    tar xvf Python-3.8.12.tgz
    cd Python-3.8*/
    ./configure --enable-optimizations
    sudo make altinstall
    
  3. Install Tableau Server RPM package.

    yum install $PACKAGE_PATH/$TBLSRV_INSTALLER -y
    VERSION_STRING=$(rpm -qa | grep -i domainspaserver | cut -d "-" -f 2)
    echo $VERSION_STRING
    
  4. Create a directory for JDBC drivers and install the PostgreSQL driver.

    mkdir -p /opt/tableau/tableau_driver/jdbc/
    curl -sS https://jdbc.postgresql.org/download -o /opt/tableau/tableau_driver/jdbc/$TBL_PGSQL_DRIVER
    ls /opt/tableau/tableau_driver/jdbc
    
  5. Initialize Tableau Server with provided environment variables.

    echo "${PASSWORD}" > pwd_file
    sudo /opt/tableau/tableau_server/packages/scripts.$VERSION_STRING/initialize-tsm --accepteula -a $USERNAME --password-file=pwd_file -d $DATAVOLUME/server
    rm -rf pwd_file
    source /etc/profile.d/tableau_server.sh
    echo "success">/tmp/tsm_activated
    
  6. Activate Tableau licenses for Interactor and Viewer.

    su - veservice -c "tsm licenses activate -k $LICENSEKEY_INTERACTOR -u $USERNAME -p $PASSWORD"
    su - veservice -c "tsm licenses activate -k $LICENCEKEY_VIEWER -u $USERNAME -p $PASSWORD"   #update according to environment
    
  7. Create the registration JSON and register the server.

    cat << EOF > /tmp/registration.json
    {
        "zip" : "76187",
        "country" : "Germany",
        "city" : "Karlsruhe",
        "last_name" : "lastname",
        "industry" : "AG",
        "eula" : "true",
        "title" : "Mr",
        "company_employees" : "Employe1,Employe2",
        "phone" : "1234567890",
        "company" : "AG",
        "state" : "BY",
        "opt_in" : "false",
        "department" : "DF",
        "first_name" : "abc",
        "email" : "abc.lastname@domain.com"
    }
    EOF
    
        su - veservice -c "tsm register --file /tmp/registration.json  --username $USERNAME --password $PASSWORD"
    
  8. Create and import the identity and server configurations.

    cat << EOF > /tmp/identity.json
    {
        "configEntities":{
          "identityStore":{ 
            "_type":"identityStoreType",
            "type":"local"
          }
      }
    }
    EOF
    
        su - veservice -c "tsm settings import -f /tmp/identity.json --username $USERNAME --password $PASSWORD"
    
    # Expected Output : May get following warning
    ---------------------------------------------
    Configuration file read from /tmp/identity.json. The configuration file does not include the runas username and password. After importing, these values must be set explicitly
    ---------------------------------------------
    
    
    cat << EOF > /tmp/config.json
    { 
      "configEntities":{ 
          "gatewaySettings":{ 
            "_type":"gatewaySettingsType",
            "publicPort":443,
            "trustedIPs":[ 
                "$MINDGATE_IP",
                "$NODE2_IP",
                "$NODE3_IP"
            ]
          },
          "trustedAuthenticationSettings":{ 
            "_type":"trustedAuthenticationSettingsType",
            "trustedHosts":["127.0.0.1"]
          }
      },
      "configKeys":{ 
          "gateway.timeout":"900",
          "ssl.protocols":"all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1",
          "ssl.ciphersuite":"HIGH:MEDIUM:!aNULL:!MD5:!RC4:!3DES",     
          "wgserver.unrestricted_ticket":true,
          "wgserver.session.apply_lifetime_limit":true,
          "wgserver.session.lifetime_limit":"720",
          "wgserver.session.idle_limit":"30",
          "gateway.http.hsts":true,
          "gateway.http.referrer_policy":"same-origin",
          "subscriptions.enabled": true,
          "subscriptions.attachments_enabled": true,
          "subscriptions.max_attachment_size_megabytes": 150,
          "shareproductusagedata.enabled": false,
          "features.SelfServiceSchedules": true
      }
    }
    EOF
    
      su - veservice -c "tsm settings import -f /tmp/config.json --username $USERNAME --password $PASSWORD"
    
  9. Enable SSL for the repository and disable unnecessary logging.

    tsm security repository-ssl enable --internal-only
    
    # Workaround until https://issues.salesforce.com/issue/a028c00000ixQZnAAM/tableau-server-excessive-logging-by-vizportal-instrumentation-is-filling-up-disk-space will be resolved
    tsm configuration set -k contentexploration.instrumentation.jmx.logging.enabled -v false --force-key
    tsm configuration set -k collections.instrumentation.jmx.logging.enabled -v false --force-key
    tsm configuration set -k webhooks.instrumentation.jmx.logging.enabled -v false --force-key
    
    #tsm authentication legacy-identity-mode enable
    
  10. Apply any pending changes to Tableau Server.

    su - veservice -c "tsm pending-changes apply -iw --ignore-prompt --username $USERNAME --password $PASSWORD"
    
    # Expected Output -
    -------------------------------------------------------
    Starting deployments asynchronous job.
    Job id is '0', timeout is 10 minutes.
    9% - Retrieving the topology to deploy.
    18% - Retrieving the configuration to deploy.
    27% - Validating the new topology.
    36% - Determining if server needs to be started.
    45% - Disabling all services.
    54% - Waiting for the services to stop.
    63% - Updating nodes to new topology.
    72% - Waiting for topology to be applied.
    81% - Updating nodes to new configuration.
    90% - Reconfiguring services.
    100% - Waiting for services to reconfigure.
    Successfully deployed nodes with updated configuration and topology version.
    -------------------------------------------------------
    
    rm -rf config.json
    rm -rf smtpconfig.json
    rm -rf registration.json
    rm -rf identity.json
    
  11. Start the server initialization process.

    su - veservice -c "tsm initialize --start-server --request-timeout 1800  --username $USERNAME --password $PASSWORD"
    # Expected Output -
    -------------------------------------------------------
    Initializing the server...
    Job id is '1', timeout is 30 minutes.
    2% - Checking control plane services.
    4% - Validating that there are no pending changes.
    6% - Setting the default identity services tables.
    9% - Generating new asset key.
    11% - Saving asset key.
    13% - Generating passwords.
    16% - Generating secret keys.
    18% - Generating apigateway mutual SSL certificates.
    20% - Generating Apache Gateway Internal mutual SSL certificates.
    23% - Generating Unique Cluster Identifier.
    25% - Generating Search Server SSL certificate.
    27% - Generating Index And Search Server SSL certificate.
    30% - Generating ActiveMQ Server SSL certificate.
    32% - Generating internal Metadata API mutual SSL certificates.
    34% - Generating key store.
    37% - Generating Hyper SSL certificate.
    39% - Generating TSIG logs service SSL certificate.
    41% - Promoting configuration.
    44% - Waiting for services to reconfigure.
    Running - Initializing the topology.
    46% - Initializing the topology.
    48% - Waiting for the maintenance app to start.
    51% - Initializing the temporary database instance.
    53% - Starting the temporary database instance.
    55% - Creating roles and databases.
    58% - Running migrations.
    60% - Localizing the default projects.
    62% - Stopping the temporary database instance.
    65% - Making the temporary database default.
    67% - Initializing the next active repository.
    69% - Enabling services needed for server initialization.
    72% - Connecting to the Backup/Restore service.
    74% - Saving asset key metadata.
    76% - Configuring search server.
    79% - Connecting to the Backup/Restore service.
    81% - Initializing Index And Search Server.
    Running - Finalizing the topology.
    83% - Finalizing the topology.
    86% - Connecting to Vizportal Maintenance.
    88% - Rebuilding the search index.
    100% - Finalizing the initialization.
    
    Server was initialized successfully.
    
  12. Create the initial user for the Tableau Server.

    su - veservice -c "tabcmd initialuser --server "localhost:80" --username "tblsrv_techuser" --password $TECHUSER_PWD"
    
    # Expected Output -
    -------------------------------------------------------
    ===== redirecting to http://localhost/auth
    ===== Signed out
    ===== Creating new session
    =====     Server:   http://localhost:80
    =====     Username: tblsrv_techuser
    ===== Connecting to the server...
    ===== Signing in...
    ===== Succeeded
    
  13. Get the bootstrap file and copy it to other nodes.

    su - veservice -c "tsm topology nodes get-bootstrap-file --file bootstrap.json  --username $USERNAME --password $PASSWORD"
    
    scp /home/veservice/bootstrap.json $NODE2_IP:/home/veservice
    scp /home/veservice/bootstrap.json $NODE3_IP:/home/veservice
    
  14. Restart the crond service.

    # FIREWALL
    yum install firewalld -y
    systemctl restart dbus
    systemctl start firewalld
    systemctl enable firewalld
    firewall-cmd --permanent --add-port=80/tcp
    firewall-cmd --permanent --add-port=8060/tcp
    firewall-cmd --permanent --add-port=8080/tcp
    firewall-cmd --permanent --add-port=8850/tcp
    firewall-cmd --permanent --add-port=8000-9000/tcp
    firewall-cmd --permanent --add-port=27000-27010/tcp
    firewall-cmd --reload
    

Deploying Tableau Server on tableau-02 and tableau-03

Note

Ensure proper network configurations and update environment-specific variables.

  1. Set up environment variables and passwords for veservice.

    USERNAME="veservice"
    PASSWORD="clcm"
    TECHUSER_PWD="clcm"
    DATAVOLUME="/home/sdb"                      #update according to environment
    TSM_ACTIVATED="not_yet"
    PACKAGE_PATH="/tmp/tableau/"
    TBL_PGSQL_DRIVER="postgresql-42.6.0.jar"
    TBLSRV_INSTALLER="TableauServer-2023-1-6-DomainSPA-x86_64.rpm"
    LICENSEKEY_INTERACTOR="<add-licensekey-interactor>"                              #update according to environment
    LICENCEKEY_VIEWER="<add-licensekey-viewer>"                                   #update according to environment
    MINDGATE_IP="<ip-address>"
    CONTROLLER_IP="<ip-address>"                        #update according to environment
    NODE2_IP="<ip-address>"                    #update according to environment
    NODE3_IP="<ip-address>"                          #update according to environment
    
    echo "$USERNAME:${PASSWORD}" | sudo chpasswd
    
  2. Install all required packages and python 3.8:

    sudo yum -y install epel-release
    sudo yum -y update
    sudo reboot
    sudo yum -y groupinstall "Development Tools"
    sudo yum -y install openssl-devel bzip2-devel libffi-devel xz-devel
    gcc --version
    sudo yum -y install wget
    wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz
    tar xvf Python-3.8.12.tgz
    cd Python-3.8*/
    ./configure --enable-optimizations
    sudo make altinstall
    
  3. Install Tableau Server and extract the version.

    yum install $PACKAGE_PATH/$TBLSRV_INSTALLER -y
    VERSION_STRING=$(rpm -qa | grep -i domainspaserver | cut -d "-" -f 2)
    echo $VERSION_STRING
    
  4. Download and install PostgreSQL JDBC driver.

    mkdir -p /opt/tableau/tableau_driver/jdbc/
    curl -sS https://jdbc.postgresql.org/download/$TBL_PGSQL_DRIVER -o /opt/tableau/tableau_driver/jdbc/$TBL_PGSQL_DRIVER
    ls /opt/tableau/tableau_driver/jdbc
    
  5. Initialize Tableau Server.

    /opt/tableau/tableau_server/packages/scripts.$VERSION_STRING/initialize-tsm --accepteula -a $USERNAME -b /home/veservice/bootstrap.json -d $DATAVOLUME/server
    
  6. Configure firewall and open required ports for Tableau.

    yum install firewalld -y
    systemctl restart dbus
    systemctl start firewalld
    systemctl enable firewalld
    firewall-cmd --set-default-zone=public
    firewall-cmd --permanent --add-port=80/tcp
    firewall-cmd --permanent --add-port=8060/tcp
    firewall-cmd --permanent --add-port=8080/tcp
    firewall-cmd --permanent --add-port=8850/tcp
    firewall-cmd --permanent --add-port=8000-9000/tcp
    firewall-cmd --permanent --add-port=27000-27010/tcp
    firewall-cmd --reload
    

Configuring Tableau (tableau-01) Cluster

  1. Set up environment variables.

    USERNAME="veservice"
    PASSWORD="clcm"
    TECHUSER_PWD="clcm"
    DATAVOLUME="/home/sdb"                   #update according to environment
    TSM_ACTIVATED="not_yet"
    PACKAGE_PATH="/tmp/tableau/"
    TBL_PGSQL_DRIVER="postgresql-42.6.0.jar"
    TBLSRV_INSTALLER="TableauServer-2023-1-6-DomainSPA-x86_64.rpm"
    LICENSEKEY_INTERACTOR="<add-licensekey-interactor>"                 #update according to environment
    LICENCEKEY_VIEWER="<add-licensekey-viewer>"                                 #update according to environment
    MINDGATE_IP="<ip-address>"                                #update according to environment
    CONTROLLER_IP="<ip-address>"                        #update according to environment
    NODE2_IP="<ip-address>"                    #update according to environment
    NODE3_IP="<ip-address>"                          #update according to environment
    
  2. List and verify all nodes in the cluster.

    LIST_OF_NODES=($(tsm topology list-nodes --username $USERNAME --password $PASSWORD | tr " " "\n" | sort -n))
    STRING_OF_NODES=$(tsm topology list-nodes --username $USERNAME --password $PASSWORD | tr "\n" ",")
    # Get the number of nodes from the LIST_OF_NODES array
    NUMBER_OF_NODES=${ LIST_OF_NODES[@]}
    echo $LIST_OF_NODES
    echo $STRING_OF_NODES
    echo $NUMBER_OF_NODES
    
    # Expected Output : -
    ------------------------------------------------------------
    $ echo $LIST_OF_NODES
    node1
    $ echo $STRING_OF_NODES
    node2,node3,node1,
    $ echo $NUMBER_OF_NODES
    3
    
  3. Stop Tableau Server.

    su - veservice -c "tsm stop --username $USERNAME --password $PASSWORD"
    
  4. Set process configurations

    1. PostgreSQL instance on one node

      su - veservice -c "tsm topology set-process -n node$(((NUMBER_OF_NODES+1) / 2)) -pr pgsql -c 1"
      # Expected Output : -
      ------------------------------------------------------------
      Setting 1 count of pgsql instances in node2.
      
      Pending topology set.
      There are 2 topology validation errors/warnings.
      
      You cannot have two instances of the Repository in a two-node cluster.
      Node ID: node2
      Service: Repository
      Instance: 0
      
      Node ID: node1
      Service: Repository
      Instance: 0
      
      
      There must be exactly one instance of 'clustercontroller' on node 'node2'
      Node ID: node2
      Service: Cluster Controller
      
    2. ActiveMQ Server process, configure the necessary processes for each node.

      su - veservice -c "tsm topology set-process -n node$(((NUMBER_OF_NODES+1) / 2)) -pr activemqserver -c 1"
      
      for node in ${LIST_OF_NODES[@]}; do
          tsm topology set-process -n $node -pr gateway -c 1
          tsm topology set-process -n $node -pr vizqlserver -c ${NUMBER_OF_INSTANCES:-2}
          tsm topology set-process -n $node -pr vizportal -c ${NUMBER_OF_INSTANCES:-2}
          tsm topology set-process -n $node -pr backgrounder -c ${NUMBER_OF_INSTANCES:-2}
          tsm topology set-process -n $node -pr cacheserver -c ${NUMBER_OF_INSTANCES:-2}
          tsm topology set-process -n $node -pr searchserver -c 1
          tsm topology set-process -n $node -pr indexandsearchserver -c 1
          tsm topology set-process -n $node -pr dataserver -c 2
          tsm topology set-process -n $node -pr filestore -c 1
          tsm topology set-process -n $node -pr metrics -c 1
          tsm topology set-process -n $node -pr tdsservice -c 1
          tsm topology set-process -n $node -pr contentexploration -c 1
          tsm topology set-process -n $node -pr collections -c 1
          tsm topology set-process -n $node -pr clustercontroller -c 1
      done
      
  5. Apply any pending changes, deploy the coordination service and restart Tableau Server.

    su - veservice -c "tsm pending-changes apply -iw --ignore-prompt --username $USERNAME --password $PASSWORD"
    su - veservice -c "tsm stop --username $USERNAME --password $PASSWORD"
    su - veservice -c "tsm topology deploy-coordination-service --nodes ${STRING_OF_NODES::-1} --username $USERNAME --password $PASSWORD --ignore-prompt"
    #su - veservice -c "tsm topology cleanup-coordination-service --username $USERNAME --password $PASSWORD --ignore-prompt"
    su - veservice -c "tsm start --username $USERNAME --password $PASSWORD"
    
  6. Verify the status of all nodes and processes to ensure they are running properly.

    su - veservice -c "tsm status -v"
    # Expected Output :-
    --------------------------------------------------------------------------------------------------
    node1: tableau-01
            Status: RUNNING
            'Tableau Server Gateway 0' is running.
            'Tableau Server Application Server 0' is running.
            'Tableau Server Application Server 1' is running.
            'Tableau Server Interactive Microservice Container 0' is running.
                    'MessageBus Microservice 0' is running.
                    'Relationship Query Microservice 0' is running.
                    'Credentials Service 0' is running.
            'Tableau Server VizQL Server 0' is running.
            'Tableau Server VizQL Server 1' is running.
            'Tableau Server Cache Server 0' is running.
            'Tableau Server Cache Server 1' is running.
            'Tableau Server Coordination Service 1' is running.
            'Tableau Server Cluster Controller 0' is running.
            'Tableau Server Search And Browse 0' is running.
            'Tableau Server Backgrounder 0' is running.
            'Tableau Server Backgrounder 1' is running.
            'Tableau Server Non-Interactive Microservice Container 0' is running.
            'Tableau Server Data Server 0' is running.
            'Tableau Server Data Server 1' is running.
            'Tableau Server Data Engine 0' is running.
            'Tableau Server File Store 0' is running.
            'Tableau Server Repository 0' is running (Active Repository).
            'Tableau Server Tableau Prep Conductor 0' is running.
            'Tableau Server Tableau Prep Flow Authoring 0' is running.
            'Tableau Server Tableau Prep Minerva Service 0' is running.
            'Tableau Server Index And Search Server 0' is running.
            'Tableau Server Ask Data 0' is running.
            'Tableau Server Administration Agent 0' is running.
            'Tableau Server Administration Controller 0' is running.
            'Tableau Server License Manager 0' is running.
            'Tableau Server Activation Service 0' is running.
            'Tableau Server Client File Service 0' is running.
            'Tableau Server Database Maintenance 0' is stopped.
            'Tableau Server Backup/Restore 0' is stopped.
            'Tableau Server Site Import/Export 0' is stopped.
            'Tableau Server Collections Service 0' is running.
            'Tableau Server Content Exploration Service 0' is running.
            'Tableau Server Webhooks 0' is running.
            'Tableau Server Authentication 0' is running.
            'Tableau Server API Gateway 0' is running.
            'Tableau Server Analytics Extensions Microservice 0' is running.
            'Tableau Server Messaging Service 0' is running.
            'Tableau Server Data Source Properties Service 0' is running.
            'Tableau Server Internal Data Source Properties Service 0' is running.
            'Tableau Server Metrics Service 0' is running.
            'Tableau Server Resource Limits Manager 0' is running.
            'Tableau Server Statistical Service 0' is running.
            'Tableau Server NonRelational Storage Service 0' is running.
            'Tableau Server Data Stories Service 0' is running.
    node2: tableau-03
            Status: RUNNING
            'Tableau Server Gateway 0' is running.
            'Tableau Server Application Server 0' is running.
            'Tableau Server Application Server 1' is running.
            'Tableau Server Interactive Microservice Container 0' is running.
                    'MessageBus Microservice 0' is running.
                    'Relationship Query Microservice 0' is running.
                    'Credentials Service 0' is running.
            'Tableau Server VizQL Server 0' is running.
            'Tableau Server VizQL Server 1' is running.
            'Tableau Server Cache Server 0' is running.
            'Tableau Server Cache Server 1' is running.
            'Tableau Server Coordination Service 1' is running.
            'Tableau Server Cluster Controller 0' is running.
            'Tableau Server Search And Browse 0' is running.
            'Tableau Server Backgrounder 0' is running.
            'Tableau Server Backgrounder 1' is running.
            'Tableau Server Non-Interactive Microservice Container 0' is running.
            'Tableau Server Data Server 0' is running.
            'Tableau Server Data Server 1' is running.
            'Tableau Server Data Engine 0' is running.
            'Tableau Server File Store 0' is running.
            'Tableau Server Repository 0' is running (Passive Repository).
            'Tableau Server Tableau Prep Conductor 0' is running.
            'Tableau Server Ask Data 0' is running.
            'Tableau Server Administration Agent 0' is running.
            'Tableau Server Database Maintenance 0' is stopped.
            'Tableau Server Backup/Restore 0' is stopped.
            'Tableau Server Site Import/Export 0' is stopped.
            'Tableau Server Collections Service 0' is running.
            'Tableau Server Content Exploration Service 0' is running.
            'Tableau Server Webhooks 0' is running.
            'Tableau Server Authentication 0' is running.
            'Tableau Server API Gateway 0' is running.
            'Tableau Server Analytics Extensions Microservice 0' is running.
            'Tableau Server Messaging Service 0' is running.
            'Tableau Server Data Source Properties Service 0' is running.
            'Tableau Server Internal Data Source Properties Service 0' is running.
            'Tableau Server Metrics Service 0' is running.
            'Tableau Server Statistical Service 0' is running.
            'Tableau Server Data Stories Service 0' is running.
    node3: tableau-02
            Status: RUNNING
            'Tableau Server Gateway 0' is running.
            'Tableau Server Application Server 0' is running.
            'Tableau Server Application Server 1' is running.
            'Tableau Server Interactive Microservice Container 0' is running.
                    'MessageBus Microservice 0' is running.
                    'Relationship Query Microservice 0' is running.
                    'Credentials Service 0' is running.
            'Tableau Server VizQL Server 0' is running.
            'Tableau Server VizQL Server 1' is running.
            'Tableau Server Cache Server 0' is running.
            'Tableau Server Cache Server 1' is running.
            'Tableau Server Coordination Service 1' is running.
            'Tableau Server Cluster Controller 0' is running.
            'Tableau Server Search And Browse 0' is running.
            'Tableau Server Backgrounder 0' is running.
            'Tableau Server Backgrounder 1' is running.
            'Tableau Server Non-Interactive Microservice Container 0' is running.
            'Tableau Server Data Server 0' is running.
            'Tableau Server Data Server 1' is running.
            'Tableau Server Data Engine 0' is running.
            'Tableau Server File Store 0' is running.
            'Tableau Server Tableau Prep Conductor 0' is running.
            'Tableau Server Ask Data 0' is running.
            'Tableau Server Administration Agent 0' is running.
            'Tableau Server Database Maintenance 0' is stopped.
            'Tableau Server Backup/Restore 0' is stopped.
            'Tableau Server Site Import/Export 0' is stopped.
            'Tableau Server Collections Service 0' is running.
            'Tableau Server Content Exploration Service 0' is running.
            'Tableau Server Webhooks 0' is running.
            'Tableau Server Authentication 0' is running.
            'Tableau Server API Gateway 0' is running.
            'Tableau Server Analytics Extensions Microservice 0' is running.
            'Tableau Server Data Source Properties Service 0' is running.
            'Tableau Server Internal Data Source Properties Service 0' is running.
            'Tableau Server Metrics Service 0' is running.
            'Tableau Server Statistical Service 0' is running.
            'Tableau Server Data Stories Service 0' is running.
    

Deploying ticket provider for CentOS

Note

Ensure Python 3.8 or higher is installed. (RHEL 8.5 supports Python 3.8 and above, required for ticket provider to run effectively).

  1. Download and install ticket provider.

    PUBLIC_KEY_URL="https://core.piam.cn1-int.domain-in.cn/token_keys" (Rancher-Cert)
    PUBLIC_KEY_URL="https://core.piam.mdsp-nfr.industrysoftware.automation.domain.com/token_keys" (OS-Cert)
    Note: don't use "cert" instead of "nfr"
    
      TCKTPRVDR_INSTALLER="tableau_ticket_provider.tgz"
    mkdir tmp_tcktprvdr
    tar zxvf ${TCKTPRVDR_INSTALLER} -C ./tmp_tcktprvdr
    sed -i -e "s~<PUBLIC_KEY_URL>~${PUBLIC_KEY_URL}~g" ./tmp_tcktprvdr/tableau-ticket-provider.service
    
    cd tmp_tcktprvdr && bash install.sh && cd ..
    rm -rf ./tmp_tcktprvdr
    
    systemctl | grep tableau-ticket-provider.service
    
  2. Update Tableau Server secrets.

    1. Update the secret file mdsp-secret-infra-credentials for all namespaces.

      tableau_server_secret : clcm
      tbl_pass : clcm
      tbl_private_ip : http://<ip-address> (as per the env)
      tbl_public_ip : http://<ip-address> (as per the env)
      tbl_user: clcm
      
    2. Update the necessary values in the customer-gldn-values.yaml file.

      # Container Registry and Base Domain
      global:
        imageRegistryURI: <container-registry-uri>
        mdspBaseDomain: <base-domain>
        # For service starter/ve/ve-frontend service
        env: <environment-name>
        platform: <platform-domain>
        tableau:
          url: <tableau-url>
        webComponents:
          assetsPageSize: 1000
          mapProviderAppKey: "<map-provider-app-key>"
        monitor:
          mdspRuleEventTypeId: "<event-type-id>"
      
      # ADFS Details
      application:
        saml:
          metaDataLocation: <saml-metadata-location>
          logoutUrl: <logout-url>
          originKey: <origin-key>
        # For operator/deployservice service
        cn_region_env: <region-environment>
        dot_mindsphere_io: <platform-suffix>
        # Notification enable/disable for service advanced/producerservice
        bypassNotificationEnabled: false
      
      # For qa/nft_testsuit service
      parameters:
        Env_Domain: <environment-domain>
        Env_Env: <environment-name>
      
  3. Create a backup using the tsm maintenance command.

    /opt/tableau/tableau_server/packages/customer-bin.20231.23.0909.1155/tsm maintenance backup --file tblsrv_bckup --username $USERNAME --password $PASSWORD
    
  4. Update permissions and restore the backup for Tableau Server.

    chown tableau:tableau /tableau/server/data/tabsvc/files/backups/restore_package.tsbak
    chmod o+rx /tableau/server/data/tabsvc/files/backups/restore_package.tsbak
    
    
    tsm stop --username ${USERNAME} --password ${PASSWORD}
    /opt/tableau/tableau_server/packages/customer-bin.20233.24.0314.1442/tsm maintenance restore --file tblsrv_bckup.tsbak --username ${USERNAME} --password ${PASSWORD}
    
    tsm start --username ${USERNAME} --password ${PASSWORD}
    
    https://help.tableau.com/current/server/en-us/identity_migration.html
    

Last update: January 31, 2025