Instalar Bridge para Linux para contenedores

Bridge para Linux proporciona escalabilidad y capacidades de administración optimizadas de cargas de trabajo en contenedores. Las siguientes instrucciones describen una forma sencilla de ejecutar Bridge para Linux y suponen que usted posee conocimientos básicos de Docker y los términos clave que se utilizan en el ecosistema.

Instalar y ejecutar Bridge desde un contenedor Docker

Para usar Bridge en Linux, debe crear una imagen de Docker personalizada, instalar el paquete RPM y luego ejecutar Bridge desde dentro de la imagen del contenedor.

Requisitos previos

  • Motor Docker instalado. Para la imagen base del contenedor acoplable, Bridge en Linux es compatible con:
    • Amazon Linux 2
    • Amazon Linux 2023
    • Red Hat 8.3 y versiones superiores

      Nota: CentOS no es compatible.

  • El paquete RPM de Tableau Bridge. de la página Descargas(El enlace se abre en una ventana nueva) del sitio web de Tableau.
  • Experiencia con el sistema operativo Linux.
  • Scripts de shell básicos.
  • Experiencia con Docker.
  • Token de acceso personal (PAT) del administrador de sitio de Tableau. Recomendamos utilizar un token PAT por cliente de Bridge.

Paso 1: Crear una imagen de contenedor Bridge

Los siguientes pasos son las instrucciones básicas para crear una imagen base de Bridge en Linux. Para obtener más información, consulte Descripción general de Docker.

Cuando se instala Docker, el único usuario con permiso para ejecutar comandos es la raíz. Puede ejecutar comandos de Docker con sudo o por un usuario que sea miembro del grupo Docker.

  1. Descargue el paquete .rpm de Bridge de la página Descargas(El enlace se abre en una ventana nueva) del sitio web de Tableau.
  2. (Opcional) Puede editar los ajustes de configuración para cambiar cómo se ejecutará el cliente. Consulte el artículo Cambiar la configuración del cliente de Bridge para obtener más información.
  3. Cree un directorio de trabajo y mueva el paquete .rpm al directorio.

    cd ~

    $ mkdir Docker

    $ cd Docker

    $ mv <RPM_location>.rpm .

  4. Cree un archivo de Docker en el directorio de trabajo. Por ejemplo:

    $ touch Dockerfile

  5. Edite el archivo Docker y agregue los comandos para ejecutar yum update.

    Ejemplo de Red Hat

    Para Red Hat 8:

    FROM registry.access.redhat.com/ubi8/ubi:latest

    RUN yum -y update

  6. Edite el archivo Docker y luego escriba los comandos para copiar, instalar y eliminar el paquete RPM de Bridge de la imagen. Por ejemplo:

    COPY <your_bridge_rpm>.rpm /<path_of_container>

    RUN ACCEPT_EULA=y yum install -y $(find . -name *.rpm) && rm -rf *.rpm

  7. Cree una nueva imagen de contenedor usando el comando de compilación de docker.

    Por ejemplo, el siguiente comando crea una imagen en el directorio actual y la etiqueta con la palabra ​"bridge_base".

    docker buildx build --platform=linux/amd64 -t bridge_base .

  8. Compruebe que la imagen base que creó se muestre en la lista de imágenes:

    docker images | grep bridge

Paso 2: Instalar los controladores

El cliente Bridge requiere controladores para facilitar la conectividad entre los datos de la red privada y Tableau Cloud. Para ver los controladores, vaya a Descarga de controladores, seleccione la fuente de datos y luego seleccione Linux como sistema operativo.

  1. La instalación se puede realizar de forma interactiva después de iniciar la imagen base, o se pueden escribir Dockerfiles separados como una capa por encima de la imagen base.

    Ejemplo

    Con el RPM del controlador MySQL copiado en el directorio, puede crear un directorio de trabajo separado para colocar capas de controladores MySQL mediante el siguiente Dockerfile:

    # Using previously built bridge_base image

    FROM bridge_base COPY mysql-connector-odbc-8.0.26-1.el7.x86_64.rpm .

    RUN yum install -y mysql-connector-odbc-8.0.26-1.el7.x86_64.rpm

    Ejemplo

    Instale un controlador JDBC Postgres. Esto también se puede hacer en un Dockerfile separado.

    # Using previously built bridge_base image

    FROM bridge_base COPY postgresql-42.3.3.jar /opt/tableau/tableau_driver/jdbc/

    Ejemplo

    Instale el controlador de Amazon Redshift.

    # Using previously built bridge_base image

    FROM bridge_base

    yum install -y unixODBC

    yum --nogpgcheck localinstall -y

    AmazonRedshiftODBC-64-bit-1.4.59.1000-1.x86_64.rpm

    odbcinst -i -d -f /opt/amazon/redshiftodbc/Setup/odbcinst.ini

  2. Cree una nueva imagen:
  3. docker image build -t bridge_final .

    La imagen bridge_final utiliza la imagen almacenada en caché del paso anterior y automatiza la instalación del controlador para todas sus instancias de Bridge. Si tiene un repositorio de imágenes, puede publicar la imagen en el repositorio y distribuirla a todos los equipos en los que desea ejecutar Bridge.

Paso 3: Ejecutar el contenedor Bridge

Ahora que tiene una imagen base creada, puede implementarla utilizando diversos métodos. Los pasos básicos son:

  1. Inicie la instancia del contenedor Bridge.
  2. Inicie sesión e inicie el trabajador.
  3. Asigne el agente a un grupo.

Nota: Bridge para Linux no es compatible con Bridge (programas heredados). Consulte Migrar desde programas de Bridge (heredados) a programas en línea para obtener más información.

  1. Antes de comenzar a implementar el contenedor, cree un Token de acceso personal (PAT). Se requiere el PAT para iniciar sesión en el agente. Tableau Cloud admite 104 PAT por usuario. Recomendamos utilizar un token PAT por cliente.

    Nota: Los siguientes nombres de token deben coincidir: patTokenId (utilizado al ejecutar el comando run-bridge.sh), el nombre del token del archivo JSON y el nombre del token al generar el PAT en Tableau Cloud.

  2. Configure la configuración regional en Docker usando ENV LC_ALL en_US.UTF-8. También puede establecer la configuración regional agregando lo siguiente al archivo /etc/profile:
  3. export LANG="en_US.utf8"

    export LANGUAGE="en_US.utf8"

    export LC_ALL="en_US.utf8"

  4. Inicie una instancia del contenedor Bridge. Hay muchas formas de configurar e iniciar la imagen del contenedor. El siguiente método interactivo ilustra los pasos necesarios para iniciar el trabajador. Al salir, el contenedor deja de funcionar.
    1. Utilice el siguiente método para pasar al símbolo del sistema del shell del contenedor como root. El resto de comandos se ejecutan en el contexto de esta sesión interactiva del contenedor.

      docker container run -it bridge_final /bin/bash

    2. Agregue el token PAT a un archivo plano en formato JSON. Por ejemplo:

      /home/jSmith/Documents/MyTokenFile.txt

    3. Ejemplo de sintaxis de token:

      {"MyToken" : "uLICC7e8SUS8ZNGe8RIFn4u==:lRihmYHI0XBKle7e8S4uSORXGqAkAl4"}

    4. Cambie los permisos del archivo para restringir el acceso al usuario actual. Por ejemplo:

      chmod 600 MyTokenFile.txt

    5. Inicie el trabajador con el comando run-bridge.sh y proporcione las siguientes opciones de comando:

      ComandoDescripción
      --patTokenIdEl ID del PAT. Consulte Tokens de acceso personal para más información.
      --userEmailCorreo electrónico del usuario asociado al PAT.
      --clientEl nombre que quiere darle al trabajador.
      --siteEl nombre de sitio como aparece en la URI. No incluya la ruta URI.
      --patTokenFileNombre de archivo y ruta al archivo de texto PAT.
      -e(Opcional) De forma predeterminada, el trabajador del cliente Bridge se ejecuta como un servicio en segundo plano. Para ejecutar el trabajador en primer plano, incluya el argumento -e.
      --poolId(Opcional) ID del grupo asignado al cliente. Consulte Usar un ID de grupo.

      Ejemplo de comando

      /opt/tableau/tableau_bridge/bin/run-bridge.sh -e --patTokenId="Mytoken" --userEmail="admin@tableau.com" --client="myBridgeAgent" --site="mySite" --patTokenFile="/home/jSmith/Documents/MyTokenFile.txt" --poolId="1091bfe4-604d-402a-b41c-29ae4b85ec94"

      Nota: Si está instalando versiones anteriores de Bridge para Linux, debe ejecutar un comando diferente para iniciar el nodo de trabajo. Para las versiones 2024.2 y anteriores, inicie el nodo de trabajo con el comando TabBridgeClientWorker (no el comando run-bridge.sh). Todas las opciones de comando son las mismas.

  5. El siguiente mensaje indica que el agente se ha iniciado. “Service started: ...”

    Use Control-C para detener al trabajador. En lugar de reiniciar el trabajador, puede iniciar un nuevo trabajador para la imagen del contenedor.

    Si no ha asignado un grupo con la opción de comando --poolId, el cliente se asigna al grupo predeterminado. Si desea utilizar el cliente con dominios específicos o VConns, puede asignar el cliente a un grupo con nombre mediante la interfaz de usuario. El menú para hacerlo en Tableau Cloud es Inicio > Configuración > Bridge. Para obtener más información, consulte Configurar la agrupación de clientes de Bridge.

Usar un ID de grupo

Al iniciar el trabajador Bridge con el comando run-bridge.sh, poolId es opcional. Sin embargo, el comportamiento del cliente depende de si está registrado en un sitio y de si está asignado a un grupo. Tableau Bridge solo puede conectarse o registrarse en un sitio de Tableau Cloud en un momento dado. El cliente queda registrado en un sitio cuando cierra la sesión y vuelve a iniciarla.

Si no se proporciona un ID de grupo

  • Si el cliente Bridge ha sido registrado, el estado del cliente sigue siendo el mismo:
    • Si el cliente está asignado a un grupo, permanece asignado al grupo, independientemente de si es un grupo con nombre o un grupo predeterminado.
    • Si el cliente no está asignado a un grupo, permanecerá sin asignar.
  • Si el cliente Bridge es nuevo (nunca inició sesión en Tableau Cloud), el cliente se asigna al grupo predeterminado.

Si se proporciona un ID de grupo

  • Si el ID del grupo se proporciona y es correcto, el cliente Bridge se asigna al grupo nombrado.
  • Si el ID del grupo se proporciona y es incorrecto:
    • Si el cliente Bridge no está registrado, entonces el cliente se asigna al grupo predeterminado.
    • Si el cliente Bridge está registrado, el estado del cliente sigue siendo el mismo, independientemente del grupo con nombre, el grupo predeterminado o no asignado.

Encontrar el ID del grupo

Para encontrar el ID del grupo, vaya a la página Configuración > Bridge y haga clic en el nombre del grupo. Por ejemplo:

Solución de problemas

Instalación de versiones anteriores

Si está instalando versiones anteriores de Bridge para Linux, debe ejecutar un comando diferente para iniciar el nodo de trabajo. Para las versiones 2024.2 y anteriores, inicie el nodo de trabajo con el comando TabBridgeClientWorker (no el comando run-bridge.sh).

Todas las opciones de comando son las mismas que las documentadas anteriormente en Paso 3: Ejecutar el contenedor Bridge.

Por ejemplo: 

/opt/tableau/tableau_bridge/bin/TabBridgeClientWorker -e --patTokenId="Mytoken" --userEmail="admin@tableau.com" --client="myBridgeAgent" --site="mySite" --patTokenFile="/home/jSmith/Documents/MyTokenFile.txt" --poolId="1091bfe4-604d-402a-b41c-29ae4b85ec94"

Error de inicio del trabajador

En algunos casos, se mostrará el siguiente error después de ejecutar el comando run-bridge.sh:

Missing log in parameters. Aborting the attempt to start service worker.

En la mayoría de los casos, volver a ejecutar el comando con las opciones originales y la opción -e soluciona el problema. La opción -e ejecuta el servicio de trabajador de Bridge en primer plano.

Trabajar con archivos de registro

Los archivos de registro se almacenan en la carpeta del usuario My_Tableau_Bridge_Repository/Logs. Para guardar los registros en una carpeta tmp , ejecute el siguiente comando:

docker container run --volume /tmp/bridge_logs:/root/Documents/My_Tableau_Bridge_Repository/Logs -it bridge_final /bin/bash

En este ejemplo, la ubicación se especifica por /tmp/bridge_logs. El uso del comando Docker simplifica el almacenamiento de los archivos de registro y evita tener que copiar manualmente los archivos de registros de Bridge desde el contenedor al sistema de archivos local.

El controlador MySQL falla

Si LC_MESSAGES no están configurados con la configuración regional UTF-8, es posible que experimente problemas de lectura y visualización. Puede editar el archivo /etc/profile o reiniciar el trabajador usando el siguiente comando:

LC_ALL=en_US.UTF-8 /opt/tableau/tableau_bridge/bin/run-bridge.sh -e

El cliente Bridge se detiene inesperadamente debido a la expiración del token de acceso personal

Cuando caduca un token de acceso personal (PAT), el cliente Bridge se desconectará de Tableau Cloud y puede provocar que el contenedor se cierre. Desde el cliente Bridge puede validar si su PAT ha expirado ejecutando el comando Start en primer plano. Si el PAT ha expirado, verá el siguiente error:

The client credentials are invalid. To complete the request, reset the credentials, and sign in to the Tableau Bridge client.

Si usted es el propietario original del PAT, también puede verificar si el PAT está vencido visitando Administrar la configuración de la cuenta en Tableau Cloud. Para resolver el problema, deberá generar un nuevo PAT y seguir los pasos anteriores. Paso 3: Ejecutar el contenedor Bridge.

Errores de tiempo de espera de conexión en tiempo real y extracción insertadas

La versión 24.3 de Bridge en Linux proporcionó mejoras de rendimiento significativas para extracciones y conexiones en tiempo real insertadas. Si experimenta errores de tiempo de espera en versiones anteriores, le recomendamos actualizar a una versión 24.3 de Bridge en Linux. Si esto no resuelve el problema, publique la fuente de datos por separado del libro de trabajo.

¡Gracias por sus comentarios!Sus comentarios se han enviado correctamente. ¡Gracias!