Puertos de Tableau Services Manager

Los procesos y servicios que conforman los componentes de Tableau Services Manager (TSM) y Tableau Server en Windows utilizan varios puertos para comunicarse. De manera predeterminada, la mayoría de estos puertos se asignan (mapean) dinámicamente a partir de un rango predefinido de puertos. Las asignaciones de puertos se realizan por cada servicio o proceso cuando estos se instalan. Los puertos que se usan se pueden controlar de varias formas.

Existe un pequeño subconjunto de procesos que no utilizan el mapeo de puertos dinámico y se comportan de forma distinta. Para obtener más información, consulte Puertos que no se asignan dinámicamente más abajo.

Nota: esta operación está formada por pasos que tal vez deba seguir con la línea de comandos de TSM. Para usar la interfaz de línea de comandos de TSM, necesita acceso de administrador a la línea de comandos en uno de los nodos de su instalación y las credenciales de administrador de TSM para ejecutar comandos de TSM.

Requisitos de firewall

Si ejecuta un firewall en el equipo en el que va a instalar Tableau Server, deberá abrir los siguientes puertos predeterminados para el tráfico de Tableau Server. Se pueden cambiar los números de todos los puertos, excepto el 443.

Puerto TCP/UDP Utilizado por ... TIPO DE INSTALACIÓN
Todos

Distribuido/alta disponibilidad

80 TCP Puerta de enlace X  
443 TCP SSL. Cuando Tableau Server está configurado para SSL, el servidor de aplicaciones redirige las solicitudes a este puerto. No cambie este puerto. X  
8850 TCP Tableau Services Manager. X  
8060 TCP Base de datos PostgreSQL. X  
8061 TCP Puerto de verificación de la copia de seguridad de PostgreSQL X  
8000-9000 TCP Intervalo de puertos reservados de forma predeterminada para la asignación dinámica de procesos Tableau   X
27000-27009 TCP Intervalo de puertos usados por Tableau Server para el servicio de licencia. Este intervalo debe estar abierto en el nodo que ejecuta el servicio de licencias y ser accesible desde otros nodos. De forma predeterminada, el nodo inicial ejecuta el servicio de licencias. X  

Asignación de puertos

Para la asignación o el mapeo de puertos en TSM, se pueden usar dos métodos:

  • Asignación dinámica de puertos. Es el predeterminado y requiere una intervención mínima por parte del administrador.
  • Asignación manual de puertos. Esta opción exige que un administrador asigne individualmente cada puerto.

Si cambia las asignaciones de puerto y está ejecutando un firewall local, consulte Configuración del firewall local.

Asignación dinámica de puertos

Puede controlar qué puertos se usan cambiando el rango de puertos disponibles para el proceso de asignación dinámica. De esta forma, la asignación dinámica de puertos se efectúa restringiendo los puertos que se pueden elegir. En este tipo de asignación, puede elegir asignar puertos a ciertos procesos de forma manual. Este método permite asignar puertos determinados a procesos concretos y dejar que los otros se asignen de forma dinámica. Usar el mapeo dinámico, asignando o no algunos puertos de forma individual, es el método más sencillo y, por lo general, cumple los requisitos de la mayoría de los clientes. Los puertos asignados de forma dinámica se conservan al exportar la configuración de Tableau Server.

De forma predeterminada, los puertos se asignan a cada servicio o proceso de los que hay disponibles entre el 8000 y el 9000. Esta asignación se lleva a cabo la primera vez que los servicios se instalan en un nodo. Cuando Tableau Server se inicializa, puede ver qué servicios o procesos usan qué puertos ejecutando este comando:

tsm topology list-ports

Si tiene un clúster de varios nodos, se muestran los puertos de todos ellos.

Cambiar el rango de puertos

Para organizaciones que tienen requisitos específicos en cuanto al uso de puertos, la forma más fácil de controlar esto consiste en cambiar el rango desde el que los puertos se seleccionan de forma dinámica. Esto se debe hacer en el momento de la instalación especificando los puertos mínimo y máximo del rango en el archivo de configuración.

Nota: el tamaño mínimo permitido del rango de puertos depende de su instalación de servidor y de la cantidad de servicios y procesos que ejecute. Como práctica recomendada general, no se debe restringir el rango demasiado, ya que la asignación de puertos se efectúa seleccionando puertos aleatorios dentro del rango y, si este no es lo bastante amplio, es posible que no se encuentre un puerto disponible para seleccionar.

Si desea que solo se elijan los puertos disponibles en el rango del 8300 al 8600, el archivo de configuración incluiría una entrada parecida a esta:

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

Deshabilitar la asignación dinámica de puertos

Si necesita más control sobre la asignación de puertos del que ofrece la combinación de restringir el rango de puertos y asignar puertos individualmente, puede deshabilitar el mapeo dinámico de puertos en el momento de la configuración inicial del servidor. Al deshabilitar el mapeo dinámico de puertos, hay que asignar manualmente los puertos a todos los procesos, por eso solo recomendamos este método cuando se necesita controlar absolutamente todas las asignaciones de puertos.

Si deshabilita el mapeo dinámico de puertos, debe configurar el puerto de cada proceso que haya en cada nodo de la instalación.

Para deshabilitar el mapeo dinámico, el archivo de configuración debería incluir una entrada parecida a esta:

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

Importante: al deshabilitar la asignación dinámica de puertos, no se incluye el rango de puertos del servicio de licencias. Este rango (27000-27009) debe estar abierto en el nodo que ejecuta el servicio de licencias y debe ser accesible desde el resto de nodos. De forma predeterminada, el nodo inicial ejecuta el servicio de licencias.

Asignación manual de puertos

Puede deshabilitar completamente la asignación automática de puertos y asignar un puerto a cada proceso por separado. Si lo hace, tiene que asignar un puerto a cada uno de los procesos de todos los nodos. Puede asignar puertos, bien en un archivo de configuración (cuando se instalan los procesos), bien después de la instalación usando un comando de TSM. Solo los puertos asignados durante la instalación del proceso se conservan al exportar la configuración de Tableau Server.

Puede especificar puertos concretos para procesos determinados independientemente de si el mapeo dinámico está habilitado o no. Puede hacer esto si quiere que un proceso utilice un puerto determinado o si ha deshabilitado el mapeo dinámico. Hay dos formas de especificar puertos para los procesos: durante la instalación o después de la instalación.

Configurar puertos durante la instalación

Se recomienda configurar la asignación de puertos durante el proceso de instalación según los pasos descritos aquí. Cambiar puertos después de la instalación es un proceso mucho más laborioso.

Para configurar puertos durante la instalación, cree un archivo json que especifique la configuración del puerto. Este proceso es similar al de definir un rango de puertos no predeterminado, pero aquí lo que se especifica es un puerto particular para un servicio o proceso específicos. Si va a asignar puertos concretos, este método es la mejor forma de hacerlo, ya que el mapeo de puertos se conserva al exportar la configuración del servidor y los ajustes de topología usando el comando tsm settings export.

Para definir los puertos durante la instalación, añada información al archivo de configuración para especificar el nodo (workerN), el proceso (servicename) y el identificador de instancia (instanceid), el tipo de puerto (porttype) y el puerto que se usará. El formato es parecido al siguiente:

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

Donde:

  • workerN  es un parámetro opcional e identifica el nodo para el que se aplica la reasignación. Los números de nodo empiezan por cero (0).
    Le recomendamos que no incluya este parámetro a menos que necesite asignar puertos diferentes al mismo servicio en distintos nodos. Si lo deja desactivado, puede asignar un puerto de servicio en el nodo inicial o el mismo puerto de servicio en varios nodos.
  • servicename es el nombre del proceso o servicio que usarán el puerto.
  • instanceid es la instancia del proceso. Si va a configurar varias instancias de un proceso en un nodo, tiene que aumentar este valor en cada instancia. El primer ID de instancia debe empezar en cero (0) y los siguientes se deben aumentar en una unidad (1) en cada instancia del proceso. En el caso de los servicios que solo instalan una instancia en un nodo determinado, este se debe dejar desactivado.
  • porttype Si define el puerto primario, no incluya esta opción.
  • port es el puerto que el proceso o servicio deben emplear.

Por ejemplo, si quiere definir el puerto para la primera instancia del proceso del almacén de archivos que hay en el nodo inicial en 8500, tiene que incluir una entrada de archivo de configuración como esta:

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

El ejemplo anterior no incluye el parámetro opcional workerN, por lo que el puerto se establece en todos los nodos del clúster. También deja desactivada la opción porttype porque define el puerto primario del almacén de archivos.

Importante: al especificar cambios de puertos con un archivo de configuración, debe incluir el parámetro --force-keys con el comando tsm settings import.

Configurar puertos después de la instalación

Si necesita cambiar puertos después de instalar Tableau Server, use el comando tsm topology set-ports. Este método permite especificar un puerto para un proceso determinado después de haberlo instalado. Debe atenerse a las restricciones siguientes:

  • Los puertos se han de definir por separado en cada nodo.
  • Después de establecer un puerto individual, debe ejecutar tsm restart.
  • Las asignaciones de puerto no se conservan al importar una configuración de Tableau Server mediante tsm settings import.
  • Los nombres de puerto usan una sintaxis diferente para comandos tsm que la requerida para configKeys. La tabla que aparece al final de este apartado proporciona una referencia de la sintaxis.

Por ejemplo, para configurar la segunda instancia del almacén de archivos en el nodo inicial de modo que use el puerto 8500:

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

En el ejemplo siguiente se muestra cómo usar comandos abreviados para establecer los puertos 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

Nota: las entradas de puertos no se validan cuando se introducen. Por tanto, si usa un puerto ya asignado, o si escribe incorrectamente la sintaxis de un comando, Tableau no mostrará un error hasta que reinicie. Después del reinicio, podría aparecer el error genérico The reconfigure async job failed (Error al reconfigurar el trabajo asíncrono).

Si añade un valor incorrecto de nombre de puerto:tipo con un puerto válido, no podrá eliminar la entrada incorrecta. Para actualizar el puerto, deberá reasignar un puerto no utilizado a ese valor para liberar el puerto.

Puertos que no se asignan dinámicamente

El repositorio de Tableau Server usa dos puertos que no se asignan dinámicamente. Cada uno de ellos tiene un puerto predeterminado que se puede anular por medio del comando tsm configuration set y un parámetro de proceso.

Nombres de los puertos Puerto (predeterminado) Descripción
pgsql.port 8060 Puerto para el repositorio de Tableau (base de datos PostgreSQL).

Para anular este puerto:

tsm configuration set -k pgsql.port <port>

pgsql.verify_restore.port 8061 Puerto para verificar la integridad de un respaldo del repositorio.

Para anular este puerto:

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

Dado que estos puertos no utilizan el sistema de mapeo dinámico de puertos, no se muestran en el resultado del comando tsm topology list-ports. Para ver el valor de estos, tiene que usar el comando tsm configuration get -k <config.value>. Por ejemplo:

tsm configuration get -k pgsql.port

Puertos asignados dinámicamente

En la tabla siguiente se indican los procesos o servicios que usan puertos asignados dinámicamente.

Nombres de puerto: sintaxis del archivo json (configKeys) Nombres de puerto: sintaxis de la interfaz de línea de comandos tsm  Descripción
appzookeeper_0.client.port appzookeeper:client Puerto del cliente del Servicio de coordinación.
appzookeeper_0.peer.port appzookeeper:peer Puerto del par del Servicio de coordinación.
appzookeeper_0.leader.port appzookeeper:leader Puerto del líder del Servicio de coordinación.
backgrounder_0.port backgrounder Puerto primario del procesador en segundo plano.
backgrounder_0.debug.port backgrounder:debug Puerto de depuración del procesador en segundo plano.
backgrounder_0.jmx.port backgrounder:jmx Puerto JMX del procesador en segundo plano. 
backgrounder_0.jmx.rmi.port backgrounder:jmx.rmi Puerto JMX RMI del procesador en segundo plano.
backgrounder_0.recommendations.trainer.port backgrounder:recommendations.trainer Puerto de recomendaciones del procesador en segundo plano.
backuprestore.port backuprestore Puerto del servicio de respaldo/restauración.
cacheserver_0.port cacheserver Puerto de servidor de caché.
clustercontroller.status.port clustercontroller:status Puerto de estado del controlador de clúster.
clustercontroller.storage.port clustercontroller:storage Puerto de almacenamiento del controlador de clúster.
databasemaintenance.port databasemaintenance Puerto de mantenimiento de la base de datos.
dataserver_0.port dataserver Puerto primario del servidor de datos.
dataserver_0.debug.port dataserver:debug Puerto de depuración del servidor de datos.
dataserver_0.jmx.port dataserver:jmx Puerto JMX del servidor de datos.
dataserver_0.jmx.rmi.port dataserver:jmx.rmi Puerto JMX RMI del servidor de datos.
filestore.port filestore Puerto primario del almacén de archivos.
filestore.status.port filestore:status Puerto de estado del almacén de archivos.
gateway.port gateway Puerto de la puerta de enlace. El predeterminado es el 80; si este no se encuentra disponible, es el 8080. Si este tampoco lo está, se prueba el 8000. Esta secuencia se sigue independientemente de que la asignación dinámica de puertos esté habilitada o no. Si ninguno de esos puertos se encuentra disponible y el mapeo dinámico está habilitado, se usa un puerto del rango definido. El puerto de la puerta de enlace debe ser el mismo en todos los nodos de un clúster que tenga varios. Así, si se selecciona el puerto 80 en el nodo inicial, este es el que se usará en todos los nodos; si no está disponible en alguno de los otros nodos, se producirá un error en la selección del puerto de la puerta de enlace.
hyper.port hyper Puerto primario del motor de datos.
hyper.connection.port hyper:connection Puerto de conexión del motor de datos.
licenseservice.vendor_daemon.port licenseservice:vendor_daemon Puerto del demonio del proveedor del servicio de licencias. Se utiliza para las comunicaciones relacionadas con licencias entre los nodos de una instalación de varios nodos.
samlservice.port samlservice Puerto del servicio SAML.
searchserver.port searchserver Puerto primario del servidor de búsqueda.
searchserver.debug.port searchserver:debug Puerto de depuración del servidor de búsqueda.
searchserver.jmx.port searchserver:jmx Puerto JMX del servidor de búsqueda.
searchserver.jmx.rmi.port searchserver:jmx:rmi Puerto JMX RMI del servidor de búsqueda.
searchserver.startup.port searchserver:startup Puerto de arranque del servidor de búsqueda.
siteimportexport.port siteimportexport Puerto de importación/exportación de sitios.
tabadmincontroller.port tabadmincontroller Puerto del controlador de TSM.
tabadminagent.columbo.port tabadminagent:columbo Puerto de detección del servicio del agente de administración
tabadminagent.filetransfer.port tabadminagent:filetransfer Puerto de transferencia de archivos del agente de TSM.
vizportal_0.authentication.port vizportal:authentication Puerto de autenticación del servidor de aplicaciones.
vizportal_0.authorization.port vizportal:authorization Puerto de autorización del servidor de aplicaciones.
vizportal_0.maintenance.port vizportal:.maintenance Puerto de mantenimiento del servidor de aplicaciones.
vizportal_0.microservice.extensions.port vizportal:.microservice:extensions Puerto de extensiones del servidor de aplicaciones.
vizportal_0.monolith_grpc.port vizporta:monolith_grpc Puerto GRPC del servidor de aplicaciones.
vizportal_0.publishing.port vizportal:publishing Puerto de publicación del servidor de aplicaciones.
vizportal_0.recommendations.port vizportal:recommendations Puerto de recomendaciones del servidor de aplicaciones.
vizportal_0.port vizportal Puerto primario del servidor de aplicaciones.
vizportal_0.debug.port vizportal:debug Puerto de depuración del servidor de aplicaciones.
vizportal_0.jmx.port vizportal:jmx Puerto JMX del servidor de aplicaciones.
vizportal_0.jmx.rmi.port vizportal:jmx.rmi Puerto JMX RMI del servidor de aplicaciones.
vizqlserver_0.port vizqlserver Puerto primario de VizQL Server.
vizqlserver_0.debug.port vizqlserver:debug Puerto de depuración de VizQL Server.
vizqlserver_0.jmx.port vizqlserver:jmx Puerto JMX de VizQL Server.
vizqlserver_0.jmx.rmi.port vizqlserver:jmx.rmi Puerto JMX RMI de VizQL Server.

 

Otros artículos de esta sección

¡Gracias por sus comentarios! Se produjo un error al enviar sus comentarios. Vuelva a intentarlo o escríbanos.