<< Back

High Availability Server by Lunchtime?…Sure!

When Tableau release version 7.0.4 of Desktop and Server they announced that the highly anticipated ‘High Availability’ or ‘Failover’ functionality for Server was included as well as, amongst other things, site-level administrators and a native connector for SAP BW. Tableau is now heading full speed into the large-scale, enterprise-wide environment with the completion of high availability being a major tick on the to-do list (although for those who don’t believe that Tableau is already an enterprise platform please go check out Tableau Public serving up to 94,000 views per hour last time we checked). So now Server is in the enterprise environment it’s difficult, complicated and slow to install right?

In short…no! In comparison to most other server applications Tableau has always been and still is a delight to install. After all it wouldn’t be very ‘Tableau’ if we couldn’t download the software in the morning, install it and be sharing insights by the end of the day. So last Friday I decided to set myself a challenge, could I start downloading Server at 9am on Monday and have a high availability cluster up and running by the end of the day? Or as I found…lunchtime.

distrib_threenodeIf you’re unfamiliar with a simple high availability structure in Tableau it involves three separate servers. The first is the ‘Gateway’ and despite initially starting out as a full server installation this machine will only act as a portal handling the user requests and sending them to an active server. As a minimum we will then need two ‘Worker Servers’ both of which will handle all Tableau’s processes as well as the data server. While one is technically only active at any one time the other is mirroring its partner ready to automatically handle all duties should the other go offline.

Onto the challenge. For my server host I decided to use Amazon Web Services configuring a virtual private cloud containing three Windows 2008 R2 EC2 servers. These were setup earlier that morning and were ready to receive their Tableau downloads. I won’t be going over every single step, if you want some clear instructions on the best method the Tableau online help guide is just what you’re looking for.

Starting a little after 9am the server download began, with the first single server implementation complete by 9:30.  That’s how easy Tableau Server is to get up and running, no giant box needed (although yes mine was a small part of a giant box) you can install and test it on your laptop if you wish.

The next task is getting your firewall sorted. When installed on a single machine you’ll probably not notice that Server uses a bunch of ports for its various communications and if you only use Windows Firewall Tableau will do its best to configure it for you. Just to make sure I decided to work my way through the port list and open them up on my network (I was a bit ahead of my original schedule and had some spare time).

Switching to the first ‘Worker’ server a different installation file is needed. If you’re ever unsure where to find the primary and worker downloads every version of the software (including desktop) can be downloaded from the alternate download site. This installer is just over a tenth of the size of the primary server and five minutes after downloading, the first worker server was ready to go (it’s 9:50 if you’re keeping track). With the worker ready to go I switched to the primary, added the worker to the server list and let Tableau do its thing (its thing being bundling up the configuration information from the primary server into a zip file, sending and then extracting it on to the worker). Ten minutes later all was complete and after a quick restart I had a 2 node cluster ready to repeat the process for worker number two.

All in all I was done by 11am. Two hours previous I had three vanilla Windows servers and by lunchtime a high availability, interactive BI platform with a centrally managed data portal. Simply amazing!


If you want to know more about High Availability on Tableau check out the whitepaper ‘Ensuring High Availability and Reducing Downtime with Tableau Server

Craig Bloodworth

York, UK

7 thoughts on “High Availability Server by Lunchtime?…Sure!

  1. Hi Tom – I’m concerned that the Gateway node is a single point of failure and thus this design does not deliver High Availability. Is there a way to overcome this and acheive true HA?

    With a single point of failure on the gateway HA isn’t acheived which is frustrating.

    Thanks, Jon

    1. Hi Jon,

      Yes, you’re absolutely right. Most of what I did was about failover rather than true HA. Tableau Server does have the functionality to install a secondary gateway which remains dormant until required however the switching process is manual, after all you need to reconfigure the DNS server to point to the secondary gateway when the primary fails. You could of course configure your DNS server to check the gateway is up and automate the switching process however this is currently out of scope of Tableau Server.

      Hope that makes sense. Email me if not.


  2. Hey Craig,

    I just was surfing for an answer and came across this. I’m also wanting a process to have the shadow gateway start up in the event primary goes down. Do you have anything which could assist me or seen what others may have done in order to get this accomplished?

    Appreciate any guidance.


    1. Hi Daniel,

      As it stands the method is manual based on an email alert triggering a sys admin to run a couple of commands to bring the secondary server up. It is possible to use an external load balancer to switch automatically, after all this is how Tableau Public is setup, however there isn’t any official support for a 3rd party load balancer at present (I’m sure Tableau will be planning to release something in the future to address this).

      What’s your current production setup? Is HA a must have or a nice to have? Send me an email to discuss further craig.bloodworth at theinformationlab.co.uk



      1. Hi Craig, Does a load balancer automatically switch to workers when the primary server fails; will tableau users request be processed in such cases. I thought it will swith between workers if any of the workers in the cluster in failed.

        Assume the cluste has: 1 Load balancer, 1 Primary server gateway, worker1 with gateway and worker2 with gateway

        Thanks in advance

Leave a Reply

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