4 Replies Latest reply on Jan 16, 2020 6:45 AM by Toby Erkson

    Tableau Server Gateway Services fail to start or TSM becomes inaccessible on Windows Server 2016

    Matthew Brimer

      Full credit goes toMatthew Brimer for this document.

       

      Working at a client site and we identified issues with 2 Microsoft patches on Windows Server 2016 KB4498947 & KB4494440.  Please note this should only affect Tableau Servers running on port 80.

       

      SYMPTOMS

      • KB4498947

                This is a servicing stack update that somehow allows the NT Kernel (PID 4) to take port 80 and denies it to Tableau Server's Gateway processes on startup.  This is a required           update that impacts all future updates for Windows Server 2016.

      • KB4494440

                This patch is the early May 2019 cumulative update.  Please note that as of this writing the patch has been superseded twice and is a known bad patch from Microsoft. When this           patch is applied multiple Tableau Services fail to start, as well as, the ability to login to TSM (via web UI or CLI) becomes unavailable.

       

      RESOLUTION

      1. KB4498947 is required and cannot be rolled back easily. KB4494440 is dependent on the previously stated patch but is known bad.  The latest known good patch (as of this writing) is KB4499177.
        1. If after you apply the known good patch and the gateways still won't come up, it is due to how Microsoft has changed how it will receive future updates that are included in the KB4498947 patch.  If the the Windows Kernel is still holding port 80 (verified by running "netstat -a -n -o" via CMD and 80 is owned by PID 4) , please proceed to resolution 2 or 3.
      2. Change the port that Tableau Server runs on from port 80 to a different, available, port .
        1. Get the node name (generally node1): tsm topology list-nodes

        2. Set the port: tsm topology set-ports --node-name <node name from command 1> --port-name gateway:primary --port-value 8080

        3. Once you run the command it will ask you to restart the services, you will need to run this for EACH node and restart after each node is updated,
          1. Please note that I originally attempted to use the
          2. tsm configuration set -k service.port_remapping.enabled - v false

          3. tsm configuration set -k gateway.public.port -v someport

          4. tsm configuration set -k worker0.gateway.port -v someport

          5. tsm pending-changes apply

          6. But the values kept reverting back to their original port after restart
      3. Modify the registry key HKLM\SYSTEM\CurrentControlSet\Services\HTTP and change the value of "start" from 3 to 4 and reboot the server.