BASE DE CONNAISSANCES

Résolution de l'erreur "Worker Initialization Failed"


Date de publication : 17 Apr 2015
Date de dernière modification : 28 May 2020

Problème

Lors de l'installation, de la mise à niveau ou du démarrage de Tableau Server, l'erreur suivante peut se produire dans l'utilitaire de configuration de Tableau Server : 
 
Worker initialization failed.
See the tabadmin.log for details. (L'initialisation du serveur de travail a échoué. Consultez tabadmin.log pour plus d'informations.)
 
Remarque : l'erreur « Worker initialization failed » peut également se produire dans le cas d'une installation de Tableau Server sur un seul serveur parce que le « serveur de travail » dans l'erreur peut être le nœud principal (à savoir le serveur de travail 0). 

Environnement

Tableau Server 

Résolution

Tout d'abord, vérifiez les autorisations :

  • Veillez à ce que l'utilisateur installant Tableau Server et le compte Exécuter en tant qu'utilisateur disposent des utilisations requises pour effectuer l'installation sur le répertoire d'installation. Pour plus d'informations, consultez Paramètres requis du compte Exécuter en tant qu'utilisateur.
  • Assurez-vous que l'attribut « Lecture seule » n'est pas sélectionné pour les fichiers et les dossiers Tableau. Pour plus d'informations, consultez File and Folder Permissions (Autorisations de fichiers et dossiers) dans Microsoft TechNet.
  • Assurez-vous que le compte 'Service local' dispose des autorisations adéquates pour la racine du lecteur sur lequel Tableau Server est installé.
Remarque : il est particulièrement important de vérifier le compte de service local si vous avez mis à niveau à partir d'une version antérieure vers Tableau Server 9.3 ou ultérieur. Le service de licence Tableau a commencé à s'exécuter sous le compte de service local dans Tableau 9.3.

Réinitialisation du service de coordination (Zookeeper)


Si Zookeeper ne démarre pas correctement, une erreur de ce type apparaîtra dans les journaux : 
user=__request=__ Sending 'ruok' to localhost:12000...user=__request=__ Error getting ZooKeeper state: Errno::ECONNREFUSED:Connection refused - Connection refused
Dans ce cas, l'exécution de tabadmin cleanup --reset -coordination peut résoudre le problème. Pour plus d'informations, consultez Commandes tabadmin : cleanup,
Remarque : avant d'exécuter la commande suivante, archivez vos journaux.Cette commande permet de nettoyer tous les fichiers journaux.Pour plus d'informations, consultez Travailler avec des fichiers journaux.

Assurance de l'ouverture des ports requis

Assurez-vous que les ports requis par Tableau Server sont ouverts.

Recherche des ports disponibles

Tableau Server recherche les ports disponibles pour ses processus lors de l'installation et du démarrage.

Par exemple :

Vérification d'une plage de 1 port(s) pour pgsql.port, 8060 par défaut.
Vérification d'une plage de 1 port(s) pour worker0.vizqlserver.port, 9100 par défaut.
Init : configuration des ports terminée après la création d'une configuration initiale
Si un port par défaut n'est pas disponible pour la liaison, ces informations sont envoyées au journal.

Ouverture de ports lors de l'installation

Lors de l'installation, Tableau Server ouvre des ports dans le Pare-feu Windows sur l'étendue SUBNET. C'est pourquoi nous recommandons d'installer tous les ordinateurs d'un cluster Tableau Server sur le même sous-réseau IP.

  • Les ordinateurs qui se connectent depuis l'extérieur du sous-réseau IP ne sont pas autorisés à se connecter, selon les règles de pare-feu par défaut. Si des ordinateurs du cluster utilisent différents sous-réseaux IP, les règles de pare-feu doivent être définies manuellement.
  • Tableau Server ne tente pas d'ouvrir des ports sur d'autres pare-feu que le Pare-feu Windows.

Utilisation de telnet pour vérifier les ports

Telnet Client est un programme Microsoft qui peut être installé sur la plupart des environnements Windows Server. Pour plus d'informations, consultez Installer Telnet Client sur Microsoft Technet. Les ports spécifiques que Tableau Server utilise par défaut sont répertoriés ici : Ports Tableau Server.

Pour vérifier que le nœud principal Tableau Server peut communiquer avec un nœud de serveur de travail afin d'installer un serveur de travail à l'aide du port 3730, vous pourriez effectuer le test suivant à partir du serveur principal :

Si un serveur de travail a été ajouté à l'aide d'une adresse IP : telnet <workerIP> 3730
Si un serveur de travail a été ajouté à l'aide d'un nom d'ordinateur : telnet <worker-machine-name> 3730

Pour que le serveur de travail puisse atteindre le processus administratif Tableau du serveur principal :

Depuis le serveur de travail : telnet <primary-machine-name> 8755

Pour vérifier si un serveur de travail peut communiquer avec lui-même sur un port, vous pouvez utiliser localhost ou 127.0.0.1 depuis le serveur de travail :

Depuis le serveur de travail : telnet localhost <port>

Si le test telnet réussit, vous verrez s'afficher un écran vierge.
Si le test telnet échoue, vous verrez s'afficher une erreur de ce type :
La connexion à localhost... n'a pas pu ouvrir la connexion à l'hôte, sur le port <number> : 
Échec de la connexion
L'erreur ci-dessus indique que la communication est bloquée, ou qu'aucun processus ne s'exécute sur le port choisi.
Assurez-vous que les proxies, pare-feu ou antivirus sont configurés de manière à autoriser la communication Tableau Server sur les ports nécessaires. Pour plus d'informations, consultez Configuration de proxies pour Tableau Server et Amélioration des performances avec les exclusions d'antivirus.

Cause

Cette erreur se produit généralement parce que le compte Exécuter en tant qu'utilisateur ou Service local ne dispose pas d'autorisations suffisantes, que Zookeeper n'a pas démarré correctement ou que les ports servant à la communication Tableau Server sont bloqués.
Cet article vous a-t-il permis de résoudre le problème ?