Ports de Tableau Services Manager

Les processus et services qui constituent les composants de Tableau Services Manager (TSM) et Tableau Server sur Linux utilisent divers ports pour communiquer. Par défaut, la plupart de ces ports sont affectés (mappés) de manière dynamique depuis une plage prédéfinie de ports. Les affectations de ports sont effectuées pour chaque service ou processus lors de son installation. Vous pouvez contrôler les ports qui sont utilisés de diverses manières.

Un petit sous-ensemble de processus n’utilise pas le mappage de ports dynamique et se comporte de manière unique. Pour plus d’informations, consultez Ports qui ne sont pas mappés de manière dynamique ci-dessous.

Remarque : cette opération inclut des étapes que vous devrez peut-être effectuer avec la ligne de commande TSM.

Utilisation de ports éphémères

Si votre système d’exploitation est configuré pour utiliser des ports éphémères, votre trafic Tableau peut être acheminé via ceux-ci, même s’il est configuré comme décrit ci-dessous. L’opération a lieu au niveau du système d’exploitation et n’est pas quelque chose que vous pouvez configurer dans Tableau. Si vous souhaitez contrôler l’utilisation des ports, consultez la documentation de votre système d’exploitation pour savoir comment limiter l’utilisation des ports éphémères.

Configuration requise pour le pare-feu

Si vous exécutez un pare-feu sur l’ordinateur sur lequel vous installerez Tableau Server, vous devez ouvrir les ports par défaut suivants pour le trafic Tableau Server. Tous les numéros de port, à l’exception du port 443, peuvent être modifiés.

PortTCP/UDPUtilisé par ...TYPE D’INSTALLATION
Toutes installations

Distribué/Haute disponibilité

80TCPPasserelleX 
443TCPSSL. Lorsque Tableau Server est configuré pour SSL, le serveur d’applications redirige les demandes vers ce port. Ne modifiez pas ce port.X 
8850TCPTableau Services Manager.X 
8060TCPBase de données PostgreSQL.X 
8061TCPPort de vérification de la sauvegarde PostgreSQLX 
8000-9000TCPPlage de ports réservée par défaut pour le mappage dynamique des processus Tableau X
27000-27009TCPPlage de ports utilisée par Tableau Server pour le service de licence. Cette plage doit être ouverte sur le nœud exécutant le service de licence et accessible à partir d’autres nœuds. Par défaut, le nœud initial exécute le service de licence.X 

Consultez Configurer le pare-feu local

Affectation des ports

Voici deux approches que vous pouvez utiliser pour l’affectation ou le mappage des ports dans TSM :

  • Affectation dynamique des ports. Il s’agit du paramètre par défaut qui nécessite le moins d’intervention de l’administrateur.
  • Affectation manuelle des ports. Cette option nécessite un administrateur pour affecter individuellement chaque port.

Si vous modifiez les affectations des ports et que vous exécutez un pare-feu local, consultez Configuration du pare-feu local.

Affectation dynamique des ports

Vous pouvez contrôler les ports utilisés en modifiant la plage de ports disponibles sur le processus d’affectation dynamique. De cette manière, l’affectation dynamique des ports est laissée en place, mais restreint le choix de ports. Avec l’affectation dynamique des ports en place, vous pouvez toujours choisir d’affecter des ports pour certains processus manuellement. Cette approche vous permet d’affecter des ports spécifiques à des processus spécifiques tout en conservant le mappage dynamique pour les autres. L’approche la plus facile consiste à utiliser le mappage dynamique, avec ou sans certains ports affectés individuellement, et devrait répondre aux besoins de la plupart des clients. Les ports affectés de manière dynamique sont conservés si vous exportez votre configuration Tableau Server.

Par défaut, les ports sont affectés pour chaque service ou processus à partir des ports disponibles entre 8000 et 9000. L’affectation a lieu lors de l’installation initiale des services sur un nœud. Après l’initialisation de Tableau Server, vous pouvez voir quels ports sont utilisés par quels services ou processus en exécutant cette commande :

tsm topology list-ports

Si vous possédez un cluster multinœud, la liste des ports sur tous les nœuds s’affiche.

Modification de la plage de ports

Pour les organisations ayant des exigences spécifiques pour les ports utilisés, la manière la plus facile de contrôler ce paramètre consiste à modifier la plage dans laquelle les ports sont sélectionnés de manière dynamique. Vous devez le faire au moment de l’installation, en spécifiant un port minimum et maximum pour la plage dans votre fichier de configuration.

Remarque : la taille minimum autorisée pour votre plage de ports dépend de l’installation de votre serveur et du nombre de services ou de processus que vous exécutez. Une meilleure pratique générale consiste à ne pas restreindre trop strictement la plage parce que l’affectation des ports est effectuée par sélection des ports aléatoires dans la plage. Si vous n’autorisez pas une plage suffisamment large, il se peut que la sélection ne trouve pas de port disponible.

Pour limiter la plage dans laquelle les ports disponibles sont choisis aux ports compris entre 8300 et 8600, votre fichier de configuration devrait inclure une entrée de ce type :

"configKeys": {
"ports.range.min": "8300", "ports.range.max": "8600"
}

Blocage de ports spécifiques dans la plage

Depuis la version 2021.1.0, vous pouvez spécifier certains ports qui se trouvent dans la plage assignée de manière dynamique, mais qui ne doivent pas être utilisés par Tableau. Cette fonction est utile si vous avez d’autres logiciels sur vos ordinateurs Tableau Server qui s’appuient sur les ports dans la plage utilisée par Tableau.

Pour spécifier les ports dans la plage qui ne doivent pas être utilisés par TSM et Tableau Server, utilisez la clé de configuration ports.blocklist :

tsm configuration set -k ports.blocklist -v <port>[,<port>,<port>]

Par exemple :

tsm configuration set -k ports.blocklist -v 8000,8088, 8090

Désactivation de l’affectation dynamique des ports

Si vous avez besoin de davantage contrôler l’affectation des ports que vous pouvez obtenir via une combinaison de restriction de la plage de ports et d’affectation individuelle des ports, vous pouvez désactiver le mappage dynamique de ports lors de la configuration initiale du serveur. La désactivation du mappage dynamique de ports exige que vous affectiez manuellement chaque port pour chaque processus. Nous vous déconseillons donc cette option, sauf si vous avez besoin de contrôler chaque affectation de port.

Si vous désactivez le mappage dynamique de ports, vous devez configurer le port pour chaque processus sur chaque nœud de votre installation.

Pour désactiver le mappage dynamique, votre fichier de configuration devrait inclure une entrée de ce type :

"configKeys": {
"service.port_remapping.enabled": false
}

Important : lorsque vous désactivez l’affectation dynamique des ports, la plage des ports de service de licence n’est pas incluse. Cette plage (27000-27009) doit être ouverte sur le nœud exécutant le service de licence et être accessible depuis d’autres nœuds. Par défaut, le nœud initial exécute le service de licence.

Affectation manuelle des ports

Vous pouvez désactiver entièrement l’affectation automatique des ports et affecter un port pour chaque processus individuellement. Dans ce cas, vous devez affecter un port pour chaque processus sur chaque nœud. Vous pouvez affecter des ports soit dans un fichier de configuration, lors de l’installation initiale des processus, soit après l’installation, en utilisant une commande TSM. Seuls les ports affectés lors de l’installation du processus sont conservés si vous exportez votre configuration Tableau Server.

Vous pouvez spécifier des ports individuels pour des processus spécifiques, que le mappage dynamique soit ou non activé. Vous pouvez le faire si vous souhaitez qu’un processus utilise un port particulier ou si vous avez désactivé le mappage dynamique. Il existe deux manières de spécifier les ports pour les processus : pendant l’installation ou après l’installation.

Configuration des ports pendant l’installation

Nous vous recommandons de configurer l’affectation des ports pendant le processus d’installation comme décrit ici. Modifier les ports après l’installation demande beaucoup plus de travail.

Pour configurer les ports pendant l’installation, créez un fichier json qui spécifie la configuration de vos ports. Ce processus s’apparente à la définition d’une plage de ports non par défaut mais au lieu de cela, vous spécifiez un port particulier pour un service ou un processus spécifique. Si vous comptez affecter des ports spécifiques, cette approche est la plus robuste, parce que le mappage de ports est conservé si vous exportez les paramètres de configuration et de topologie du serveur à l’aide de la commande tsm settings export.

Pour définir les ports lors de l’installation, ajoutez des informations à votre fichier de configuration pour spécifier le nœud (workerN), le processus (servicename) et l’ID d’instance (instanceid), le type de port (porttype) et le port à utiliser. Le format se présente comme suit :

workerN.{servicename}_{instanceid}.{porttype}.port:X

Où :

  • workerN  est un paramètre facultatif et identifie le nœud auquel le remappage s’applique. Les numéros de nœud commencent par zéro (0).
    Nous vous recommandons de ne pas inclure ce paramètre sauf si vous avez besoin de mapper différents ports pour le même service sur différents nœuds. Si vous laissez ce paramètre désactivé, vous pouvez mapper un port de service sur le nœud initial, ou mapper le même port de service sur plusieurs nœuds.
  • servicename est le nom du processus ou du service qui utilisera le port.
  • instanceid est l’instance du processus. Si vous envisagez de configurer plusieurs instances d’un processus sur un nœud, vous devrez augmenter cette valeur pour chaque instance. Démarrez la valeur instanceid à zéro (0) et incrémentez-la par un (1) pour chaque instance du processus. Pour les services qui n’installent qu’une seule instance sur un nœud donné, ce paramètre doit être laissé désactivé.
  • porttype Si vous définissez le port primaire, n’incluez pas cette option.
  • port est le port que le processus ou le service devrait utiliser.

Par exemple, pour configurer le port pour la première instance du processus de répertoire de fichier sur le nœud initial sur 8500, vous devriez inclure une entrée de fichier de configuration du type suivant :

"configKeys": {
"filestore_0.port: "8500"
}

L’exemple ci-dessus n’inclut pas le paramètre workerN facultatif et définit donc le port sur tous les nœuds du cluster. Il laisse également désactivée l’option porttype parce qu’elle configure le port filestore principal.

Important : lorsque vous spécifiez des changements de port dans un fichier de configuration, vous devez inclure le paramètre --force-keys avec la commande tsm settings import.

Configuration des ports après l’installation

Si vous avez besoin de modifier les ports après avoir installé Tableau Server, utilisez la commande tsm topology set-ports. Cette approche vous permet de spécifier un port pour un processus spécifique après l’installation de ce processus. Vous êtes limité par les restrictions suivantes :

  • Vous devez définir les ports individuellement, sur chaque nœud.
  • Après avoir configuré un port individuel, vous devez exécuter tsm restart.
  • Les affectations de port ne sont pas conservées si vous avez besoin d’importer une configuration Tableau Server à l’aide de la commande tsm settings import.
  • Les noms des ports utilisent une syntaxe pour les commandes tsm différente de celle requise pour configKeys. La table à la fin de cette rubrique fournit une référence de syntaxe.

Par exemple, pour qu’une seconde instance du répertoire de fichiers sur le nœud initial utilise le port 8500 :

tsm topology set-ports --node-name node1 --port-name filestore --port-value 8500 --instance 2

L’exemple suivant montre comment utiliser les commandes abrégées pour définir les ports JMX :

tsm topology set-ports -n node1 --port-name vizqlserver:jmx.rmi -pv 9403 -i 1

tsm topology set-ports -n node1 --port-name vizqlserver:jmx -pv 9404 -i 2

Remarque : les entrées de port ne sont pas validées lorsque vous les entrez. De ce fait, si vous utilisez un port qui est déjà affecté, ou si vous saisissez incorrectement la syntaxe d’une commande, Tableau n’indique pas d’erreur jusqu’à ce que vous redémarriez. Après le redémarrage, vous pouvez voir une erreur générique, The reconfigure async job failed.

Si vous ajoutez un paramètre portname:type incorrect avec un port valide, vous ne pouvez pas supprimer l’entrée non valide. Pour mettre à jour le port, vous devez réaffecter un port non utilisé à cette valeur pour libérer à nouveau le port.

Ports qui ne sont pas mappés de manière dynamique

Le référentiel Tableau Server utilise deux ports qui ne sont pas mappés de manière dynamique. Chacun a un port par défaut que vous pouvez remplacer à l’aide de la commande tsm configuration set et un paramètre spécifique à un processus.

Noms des portsPort (par défaut)Description
pgsql.port8060Port pour le référentiel Tableau (base de données PostgreSQL).

Pour remplacer ce port :

tsm configuration set -k pgsql.port -v <port>

pgsql.verify_restore.port8061Port pour la vérification de l’intégrité d’une sauvegarde de référentiel.

Pour remplacer ce port :

tsm configuration set -k pgsql.verify_restore.port -v <port>

Étant donné qu’ils n’utilisent pas le système de mappage dynamique des ports, ces ports ne s’affichent pas dans le résultat de la commande tsm topology list-ports. Pour voir la valeur de ceux dont vous avez besoin, utilisez la commande tsm configuration get -k <config.value>. Par exemple :

tsm configuration get -k pgsql.port

Contrôle du remappage des ports avec la commande initialize-tsm

Les affectations de ports sont effectuées lors de l’installation des services. Cela signifie que pour pouvoir mapper manuellement des ports pour les processus spécifiques à TSM, vous devez affecter les ports lors de l’exécution du script initialize-tsm. Le script inclut des options permettant de spécifier des ports pour des services TSM individuels, ainsi que des options de définition des valeurs minimum et maximum de la plage de ports utilisée avec le mappage dynamique. Vous pouvez également désactiver le mappage dynamique.

Le tableau ci-dessous référence les options pour les ports lorsque vous exécutez le script initialize-tsm.

Tableau : options de port du script initialize-tsm
Option de scriptParamètreDescription
-i<port>Définit le port du client du service de coordination.
-e<port>Définit le port homologue du service de coordination.
-m<port>Définit le port leader du service de coordination.
-n<port>Définit le port de transfert de fichier de l’agent TSM.
-o<port>Définit le port du contrôleur TSM.
-l<min-port>Définit la valeur inférieure de la plage de ports utilisée pour le mappage dynamique de ports.
-r<max-port>Définit la valeur supérieure de la plage de ports utilisée pour le mappage dynamique de ports.
--disable-port-remapping Désactive le mappage dynamique des ports. Dans ce cas, vous devez affecter des ports pour chaque service ou processus utilisé par TSM et Tableau Server. Pour plus d’informations, consultez Affectation manuelle des ports ci-dessus.

Ports mappés de manière dynamique

Ce tableau affiche la liste des processus ou des services qui utilisent les ports mappés de manière dynamique.

Noms des ports : syntaxe du fichier json (configKeys)Noms des ports : syntaxe de l’interface en ligne de commande tsm Description
activemqserver.portactivemqserver:primaryPort de service du service ActiveMQ.
activemqserver.openwire.portactivemqserver:openwirePort openwire du service ActiveMQ.
appzookeeper_0.client.portappzookeeper:clientPort du client de service de coordination.
appzookeeper_0.peer.portappzookeeper:peerPort homologue du service de coordination.
appzookeeper_0.leader.portappzookeeper:leaderPort leader du service de coordination.
backgrounder_0.portbackgrounderPort principal du backgrounder.
backgrounder_0.debug.portbackgrounder:debugPort de débogage du backgrounder.
backgrounder_0.jmx.portbackgrounder:jmxPort jmx du backgrounder. 
backgrounder_0.jmx.rmi.portbackgrounder:jmx.rmiPort jmx rmi du backgrounder.
backgrounder_0.recommendations.trainer.portbackgrounder:recommendations.trainerPort de recommandations du backgrounder.
backuprestore.portbackuprestorePort du service de sauvegarde/restauration.
cacheserver_0.portcacheserverPort du serveur de cache.
clustercontroller.status.portclustercontroller:statusPort d’état du contrôleur de cluster.
clustercontroller.storage.portclustercontroller:storagePort de stockage du contrôleur de cluster.
databasemaintenance.portdatabasemaintenancePort de maintenance de la base de données.
dataserver_0.portdataserverPort principal du serveur de données.
dataserver_0.debug.portdataserver:debugPort de débogage du serveur de données.
dataserver_0.jmx.portdataserver:jmxPort jmx du serveur de données.
dataserver_0.jmx.rmi.portdataserver:jmx.rmiPort jmx rmi du serveur de données.
filestore.portfilestorePort principal du répertoire de fichiers.
filestore.status.portfilestore:statusPort d’état du répertoire de fichiers.
gateway.portgatewayPort de passerelle. Le port par défaut est 80, et s’il n’est pas disponible, 8080. S’il n’est pas non plus disponible, il tente 8000. Cette séquence est suivie, que l’affectation dynamique des ports. soit activée ou non. Si aucun de ces ports n’est disponible et que le mappage dynamique est activé, il utilise un port disponible dans la plage spécifiée. Le port de passerelle doit être le même sur tous les nœuds d’un cluster multinœud. Ainsi, si le port 80 est sélectionné sur le nœud initial, ce port sera également utilisé sur tous les nœuds. S’il n’est pas disponible sur l’un des autres nœuds, la sélection de port de passerelle échouera.
hyper.porthyperPort principal du moteur de données.
hyper.connection.porthyper:connectionPort de connexion du moteur de données.
indexandsearchserver.portindexandsearchserverPort principal du serveur d’indexation et de recherche.
indexandsearchserver.transport.portindexandsearchserver:transportPort de transport du serveur d’indexation et de recherche.
licenseservice.vendor_daemon.portlicenseservice:vendor_daemonPort daemon du fournisseur de service de licences. Utilisé pour les communications concernant les licences entre les nœuds d’une installation distribuée.
samlservice.portsamlservicePort du service SAML.
siteimportexport.portsiteimportexportPort d’importation/exportation de site.
tabadmincontroller.porttabadmincontrollerPort du contrôleur TSM.
tabadminagent.columbo.porttabadminagent:colomboPort de découverte du service d’Agent d’administration
tabadminagent.filetransfer.porttabadminagent:filetransferPort de transfert de fichier de l’agent TSM.
vizportal_0.authentication.portvizportal:authenticationPort d’authentification du serveur d’applications.
vizportal_0.authorization.portvizportal:authorizationPort d’autorisation du serveur d’applications.
vizportal_0.maintenance.portvizportal:.maintenancePort de maintenance du serveur d’applications.
vizportal_0.microservice.extensions.portvizportal:.microservice:extensionsPort d’extensions du serveur d’applications.
vizportal_0.monolith_grpc.portvizporta:monolith_grpcPort GRPC du serveur d’applications.
vizportal_0.publishing.portvizportal:publishingPort de publication du serveur d’applications.
vizportal_0.recommendations.portvizportal:recommendationsPort de recommandations du serveur d’applications.
vizportal_0.portvizportalPort principal du serveur d’applications.
vizportal_0.debug.portvizportal:debugPort de débogage du serveur d’applications.
vizportal_0.jmx.portvizportal:jmxPort jmx du serveur d’applications.
vizportal_0.jmx.rmi.portvizportal:jmx.rmiPort jmx rmi du serveur d’applications.
vizqlserver_0.portvizqlserverPort principal de VizQL Server.
vizqlserver_0.debug.portvizqlserver:debugPort de débogage de VizQL Server.
vizqlserver_0.jmx.portvizqlserver:jmxPort jmx de VizQL Server.
vizqlserver_0.jmx.rmi.portvizqlserver:jmx.rmiPort jmx rmi de VizQL Server.

 

Merci de vos commentaires !Avis correctement envoyé. Merci