KNOWLEDGE BASE

Troubleshooting "Worker Initialization Failed" Error


Published: 17 Apr 2015
Last Modified Date: 10 Apr 2017

Issue

When installing, upgrading, or starting Tableau Server, the following error might occur in the Tableau Server Configuration utility:
 
Worker initialization failed.
See the tabadmin.log for details.
 
Note:The error "Worker initialization failed" can also occur in a single computer installation of Tableau Server because the "worker" in the error may be the primary node (i.e. worker 0). 

Environment

Tableau Server 

Resolution

First, check permissions:

  • Ensure that both the user installing Tableau Server and the Run As User have the required permissions to install in the installation directory. For more information, see Required Run As User Account Settings.
  • Ensure that Tableau files and folders do not have the "Read-Only" attribute selected. For more information, see File and Folder Permissions at Microsoft TechNet.
  • Ensure that the 'Local Service' account has adequate permissions for the root of the drive where Tableau Server is installed.
Note: It is especially important to check the Local Service account if you upgraded from an earlier version to Tableau Server 9.3 or later. The Tableau license service began running under the Local Service account  in Tableau 9.3.

Resetting Coordination Service (Zookeeper)


If Zookeeper does not start correctly, an error similar to the following will appear in the logs: 
user=__request=__ Sending 'ruok' to localhost:12000...user=__request=__ Error getting ZooKeeper state: Errno::ECONNREFUSED:Connection refused - Connection refused
In this case, running tabadmin cleanup --reset -coordination may resolve the issue. For more information, see tabadmin commands: cleanup,
Note: Before running the above command, archive your logs. This command will clean up all the log files. For more information, see Work with log files.

Ensure that necessary ports are open 

Ensure that ports needed by Tableau Server are open.

Checking for Available Ports

Tableau Server checks for available ports for its processes during install and startup.

For example:

Checking a range of 1 port(s) for pgsql.port, default 8060.
Checking a range of 1 port(s) for worker0.vizqlserver.port, default 9100.
Init: finished configuring ports after initial config created
If a default port is not available for binding, that information will be outputted to the log.

Opening Ports During Install

During install, Tableau Server opens ports in the Windows Firewall at the SUBNET scope. This is why we recommend that all computers in a Tableau Server cluster be on the same IP subnet.

  • Computers connecting from outside the IP subnet will not be allowed to connect, according to the default firewall rules. If you have computers in the cluster on different IP subnets, firewall rules must be set manually.
  • Tableau Server does not attempt to open ports in any other firewalls besides Windows Firewall.

Using telnet to check ports

Telnet Client is a Microsoft program that can be installed in most Windows Server environments. For more information, see Install Telnet Client at Microsoft Technet. The specific ports Tableau Server uses by default are listed here: Tableau Server Ports.

 check that the primary Tableau Server node can communicate with a worker node to complete a worker install using port 3730, you would do the following test from the Primary:

If worker was added using IP address: telnet <workerIP> 3730
If worker was added using machine name: telnet <worker-machine-name> 3730

To ensure the worker can reach the primary's Tableau Administrative process:

From worker: telnet <primary-machine-name> 8755

To check if a worker can communicate with itself on a port, you would use localhost or 127.0.0.1 from the worker machine:

From worker: telnet localhost <port>

If the telnet test is successful, you will see a blank screen. 
If the telnet test is unsuccessful, you will see an error like the following: 
Connecting to localhost...could not open connection to the host, on port <number>: 
Connect failed
The above error indicates either that communication is blocked, or there is no process running on the chosen port.
Ensure that any proxy, firewall, or antivirus is configured to allow Tableau Server communication over the necessary ports. For more information, see Configuring Proxies for Tableau Server and Improving Performance Using Antivirus Exclusions.

Cause

This error generally occurs because the Run as User or Local Service account does not have sufficient permissions, Zookeeper did not start correctly, or ports needed for Tableau Server communication are blocked.
Did this article resolve the issue?