Puertos de Tableau Services Manager
Los procesos y servicios que conforman los componentes de Tableau Services Manager (TSM) y Tableau Server
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.
Uso efímero del puerto
Si su sistema operativo está configurado para usar puertos efímeros, su tráfico de Tableau puede enrutarse a través de estos, incluso cuando esté configurado como se describe a continuación. Esto sucede a nivel del sistema operativo y no es algo que pueda configurar en Tableau. Si desea controlar el uso del puerto, consulte la documentación de su sistema operativo sobre cómo limitar el uso del puerto efímero.
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"
}
Bloqueo de puertos específicos dentro del intervalo
A partir de la versión 2021.1.0, puede especificar determinados puertos que están dentro del intervalo asignado dinámicamente, pero que Tableau no debe utilizar. Esto es útil si tiene otro software en los equipos de Tableau Server que dependen de puertos dentro del intervalo que Tableau utiliza.
Para especificar puertos dentro del intervalo que TSM y Tableau Server no deben utilizar, utilice la clave de configuración ports.blocklist
:
tsm configuration set -k ports.blocklist -v <port>[,<port>,<port>]
Por ejemplo:
tsm configuration set -k ports.blocklist -v 8000,8088, 8090
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 portname:type
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:
|
pgsql.verify_restore.port | 8061 | Puerto para verificar la integridad de un respaldo del repositorio. Para anular este puerto:
|
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
Controlar la reasignación de puertos con initialize-tsm
Las asignaciones de puertos se efectúan cuando se instalan los servicios. Esto significa que, para asignar manualmente los puertos a los procesos de TSM, debe hacerlo al ejecutar el script initialize-tsm. Este script incluye opciones para especificar puertos en cada servicio de TSM, así como opciones para definir los puertos mínimo y máximo del rango que se utiliza en el mapeo dinámico. Además, este tipo de mapeo se puede deshabilitar.
La tabla siguiente recoge las opciones de los puertos cuando se ejecuta el script initialize-tsm.
Opción de script | Parámetro | Descripción |
---|---|---|
-i | <port> | Establece el puerto del cliente del Servicio de coordinación. |
-e | <port> | Establece el puerto del par del Servicio de coordinación. |
-m | <port> | Establece el puerto del líder del Servicio de coordinación. |
-n | <port> | Establece el puerto de transferencia de archivos del agente de TSM. |
-o | <port> | Establece el puerto del controlador de TSM. |
-l | <min-port> | Establece el límite inferior del rango de puertos que se usa para el mapeo dinámico. |
-r | <max-port> | Establece el límite superior del rango de puertos que se usa para el mapeo dinámico. |
--disable-port-remapping | Deshabilita el mapeo dinámico de puertos. Si hace esto, debe asignar puertos a todos los servicios o procesos que TSM y Tableau Server utilicen. Para obtener más información, consulte arriba Asignación manual de puertos. |
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 |
---|---|---|
activemqserver.port | activemqserver:primary | Puerto de servicio del servicio ActiveMQ. |
activemqserver.openwire.port | activemqserver:openwire | Puerto OpenWire del servicio ActiveMQ. |
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. |
indexandsearchserver.port | indexandsearchserver | Puerto primario de Elastic Server. |
indexandsearchserver.transport.port | indexandsearchserver:transport | Puerto de transporte de Elastic Server. |
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. |
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. |