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)
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):
The ziplogs file is generated in:
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
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