<< Back

15 BIG changes coming to Tableau Server 2018.2 on Windows

For anyone that’s been using or testing the new Linux release of Tableau Server, or the 2018.2 Beta, you will know how a lot of changes have been made that impact how one manages the server. With the imminent 2018.2 release of Tableau Server, all of these changes are shortly being introduced to the Windows version.

This is very exciting as these changes are going to make a Tableau Server admin’s job a whole lot easier, and also opens up lots of opportunities for management automation and extensibility.

However, for those of you running Tableau Server on Windows and haven’t been following the betas or the Linux release, the changes are quite significant and there are several key differences that are worth noting. Here is a list of my key changes to working with Tableau Server 2018.2 on Windows:

(Note, this is a long list, but by no means exhaustive. If ever in doubt, refer to the Tableau Server admin guide for complete information)

1. Goodbye tabadmin, hello TSM

This is a big deal! The old “Configure Tableau Server” dialog box, as well as the tabadmin command line utility, which were used to perform all administrative tasks on pre-2018.2 Tableau Servers, are no more. They are being replaced by a completely new service called TSM – Tableau Services Manager.

TSM is a client/server system for managing your Tableau Server. TSM separates the management of the server processes from the processes themselves, which opens up opportunities to make changes to the server on the fly, like being able to add/remove processes without any downtime. TSM is very cool, and while I will be sad to see tabadmin go, this is definitely the future.

So how do you use TSM? You interact with TSM via an API endpoint that you can use to perform management tasks on the server (start, stop, backup, cleanup etc). You can access the API directly to build custom stuff, but there are also command-line and web clients available (see below). TSM runs on the ‘initial node’ (previously known as the primary node), but can be moved to a different node in a cluster in the event of a failure. Since it’s a web service, you can now manage your server from anywhere, without the need to remote desktop into the server.


2. TSM Web interface/CLI for administering the server

Most folks will work with TSM using one or both of the built-in clients: the new web management interface (WebUI), and the command line interface (CLI). The WebUI is what most people will use and you can find it on port 8850 of your Tableau Server initial node using the HTTPS protocol, e.g. https://tableauserver:8850/

BONUS TIP: Unlike tabadmin, the TSM directory location is automatically added to the Path environment variable, so you can call it from any location in a command prompt. This is really handy as you might not even know where to find it, that’s because the location of all the files and folders have changed! (See point 9 below)

Using TSM in the browser…


3. Upgrading to 2018.2 is more complex

Given all the changes in this release, the upgrade path is a bit more complex. First things first, TAKE A FREAKIN’ BACKUP! Seriously, go do that now, stick it in your back pocket, then read through the rest of the 2018.2 upgrade documents here: https://onlinehelp.tableau.com/v2018.2/server/en-us/sug_pretsm_to_tsm.htm


4. Just one installer file

No more separate Primary Networked Server file and Worker Networked Server installer files, now it’s just a single installer executable, and you select in the installation dialog whether you’re installing an initial node or a worker node.



5. Backup and log file locations are fixed

Now when you take a backup or archive your logs, they will always save to the same, fixed location. You can of course change this fixed location with another setting, but here are the default locations FYI…

Backups are generated and saved here (and the restore process looks for a backup file in):

C:\ProgramData\Tableau\Tableau Server\data\tabsvc\files\backups

The ziplogs file is generated in:

C:\ProgramData\Tableau\Tableau Server\data\tabsvc\files\log-archives


6. Settings are separate from backup file

Backup files no longer contain any configuration information. Your tsbak file will now only contain your server content – that’s workbooks, datasources, extracts, permissions, user metadata etc. All your settings can be exported in a separate JSON file using the ‘tsm settings export’ command. This means all restores from now on will be the equivalent of a restore –no-config, it will also be very easy to import and apply server settings to a new deployment with a single file.


7. Don’t forget your assetkeys!

Assetkeys will now be included with a backup, but if you are upgrading to 2018.2 from a server where you generated custom assetkeys using the old tabadmin command, you will need to save this key and import it into the new server manually. See here for more info: https://onlinehelp.tableau.com/v2018.2/server/en-us/backup_restore.htm


8. No automatic backup on upgrade

Why did I get all shouty about backups earlier? This is why – the upgrade process no longer takes an automatic backup, so if you haven’t already backed up, you’re going to be in trouble! https://onlinehelp.tableau.com/v2018.2/server/en-us/tabadmin-to-tsm.htm#UpgradeTSM-changes


9. The Tableau install directory has moved

Tableau is now installed into a \packages folder. What does that mean? Here’s a breakdown…

In pre-2018.2 tabadmin installations, the default installation location was:

C:\Program Files\Tableau\Tableau Server\<version>\

In 2018.2 TSM installation, the default installation location is:

\Program Files\Tableau\Tableau Server\packages

Similarly, the location of the /bin folder has changed…

In tabadmin installations, the default \bin directory is:

\Program Files\Tableau\Tableau Server\<version>\bin

In TSM installation, the default \bin directory is:

\Program Files\Tableau\Tableau Server\packages\bin.<version>

With the version number now out of the path, scripts should become easier to write!


10. 3+ nodes requires manually setting up the coordination service

The Coordination Service is based on Apache ZooKeeper and is used to coordinate activities on the server, including for high availability installations. Previously, it was installed automatically as a part of Tableau Server. This is still the case for single-machine Tableau Server installs, but if you are running a cluster of three or more nodes, then you need to do some additional work to deploy a coordination service ensemble. See here for more info: https://onlinehelp.tableau.com/v2018.2/server/en-us/distrib_ha_zk.htm


11. There’s a new process in town: the Client File Service

What’s all this then, a new file store? Kind of! The Client File Service seems to take responsibility for…

”managing shared files in a multi-node cluster. For example, authentication related certificates, keys, and files (OpenID, mutual SSL, SAML, and Kerberos), and customisation files are managed by CFS.”

Similar to the coordination service, it looks like this service also needs to be manually deployed to other nodes if you’re running in a distributed environment. https://onlinehelp.tableau.com/v2018.2/server/en-us/distrib_cfs.htm


12. No more primary or backup primary

This is a major architectural change, the concept of a primary vs worker has now been deprecated. Previously, this distinction was made to highlight the node in a Tableau Server cluster that was running the licensing process.

The licensing process is important – if it went down, you had a limited amount of time to bring it back up again before the rest of the processes stopped working.  It was also not possible to migrate this process to another node, and so highly available architectures used to isolate this process on its own smaller node. Tableau also would recommend the use of a ‘backup primary’ machine to take over in the event of a failure. This required some scripts to failover: https://onlinehelp.tableau.com/current/server/en-us/distrib_ha.htm

Now this all goes away. Instead, we have the concept of an initial node, which will be the first machine that we create in the cluster. This machine will by default host the licensing process and other management processes, but in the event of a failure, these processes can be migrated to another machine. This means we have a lot more flexibility to design highly available architectures. In order to ensure a highly available system, we still need to aim for a 3-node cluster, so that ZooKeeper can achieve a quorum, so a new-style HA architecture could look something like this, where we simply replicate all processes on all machines (with the exception of the Repository database, which is active/passive only). https://onlinehelp.tableau.com/v2018.2/server/en-us/distrib_ha_install_3node.htm


13. Log archiving requires TSM and admin rights

Creating a snapshot of your server logs now has to be done in the new administration WebUI, or at the command line. This means that server or site administrators will no longer be able to do this from the standard web interface, one needs to have TSM access, and the account running TSM web UI or CLI must be a member of the local administrators group on the Windows computer running Tableau Server.  https://onlinehelp.tableau.com/v2018.2/server/en-us/logs_archive.htm


So this section has gone away, to be replaced by…




14. Apache logs are different

You’ll find the apache logs include some additional detail in 2018.2. Here’s an excerpt of the changes from the Online Help…

  • “Server names are shown according to the UseCanonicalName setting, which makes it easier to distinguish between nodes in a multi-node server deployment.
  • Date and time are now tracked in a single date-and-time string that can be readily recognized as a single value by a variety of data analysis tools, including Tableau Desktop.
  • Time zones are now easier to parse
    • On Linux, the numerical offset from UTC is provided.
    • On Windows, the name of the timezone is enclosed in quotes”



15. You really can’t change authentication method any more

It’s always been tricky to change the identity store type in Tableau Server, and for good reason. In pre-2018.2 versions you were able to do this by blowing away your existing install, re-installing and applying the new identity store type, the restoring the backup file and attempt mapping all the content ownership and permissions over to the newly created users. This is now no longer supported, so you really do need to think carefully about selecting your identity store type at the deployment stage. My rule of thumb: if you are only ever going to use your Tableau Server internally and all the users will only ever be listed in your corporate AD(s), then choose AD, else use Local authentication, and optionally apply a SAML solution on top. https://onlinehelp.tableau.com/v2018.2/server/en-us/tabadmin-to-tsm.htm


Hopefully that’s given you some insight into the changes that can be expected in the next release on Windows. As always please do give me a shout if you have any questions or want to discuss further. Catch me on Twitter @macdonaldj

Jonathan MacDonald

London, UK

12 thoughts on “15 BIG changes coming to Tableau Server 2018.2 on Windows

  1. #8: Tableau recommends uninstalling the previous version first, which should trigger a backup. Per their upgrade instructions:

    In your Tableau Server installation, uninstall Tableau using Control Panel. Uninstalling will create a backup of your data and stop Tableau. Your data directories are left in place.

    The backup file created by the uninstall is used later, for the upgrade, and is saved as “uninstall-.tsbak” in the Tableau data directory, by default: C:\ProgramData\Tableau\Tableau Server.

    Important: You should also save a backup on a different computer in case something goes wrong during the upgrade and you need to reinstall your earlier version. This is a best practice step that you should always take.


  2. When you said “In TSM installation, the default \bin directory is:

    \Program Files\Tableau\Tableau Server\packages\bin.

    With the version number now out of the path, scripts should become easier to write!” Dont I still have to navigate to …\bin.version\ with the version changing very time? That being said with “TSM” as an environment variable I’m not sure it matters either way!

    Now just to re-write all the scripts…

    1. Haha, good point. What I meant was, now that the version number is at the end of the path, you can just use CD with a wildcard at the end and the version should auto-complete, e.g. cd “\Program Files\Tableau\Tableau Server\packages\bin.*”

      However as you say, the TSM path is now automatically added as an environment variable so this is no longer relevant, provided that the user running your backup script has permissions to run TSM.

  3. Is it possible to use a password file or something else to run tsm commands or do we have to specify the username and password for all of our backup scripts?

      1. Hi Jonathan! That was me, sorry for the cross post I was working away at that for a while . But now onto the good stuff.

        This document that came out recently explains a lot of the things we needed to know when we started writing TSM scripts

        Here’s a way to obscure the password Not perfect but stops casual users from finding it. https://community.tableau.com/docs/DOC-5423

        I’ll cross post this here to make it easier for the next person

Leave a Reply

Your email address will not be published. Required fields are marked *