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:
  • Paquete RPM de Tableau Bridge.
  • Experiencia con el sistema operativo Linux.
  • Scripts de shell básicos y experiencia en Docker.
  • Token de acceso personal (PAT) del administrador de sitio de Tableau.

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

    Para Red Hat 7:

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

    RUN yum -y update

    Ejemplo de Centos

    Para Centos 7:

    FROM centos:7

    RUN yum -y update

  6. Edite el archivo de Docker, agregue los comandos para copiar el paquete RPM de Bridge, instálelo y luego elimínelo de la imagen.

    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. 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.

    Los siguientes nombres de token deben coincidir: El patTokenId (utilizado al ejecutar el comando TabBridgeClientWorker), el nombre del token en el 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 TabBridgeClientWorker y proporcione las siguientes opciones de comando:

      ComandoDescripción
      TabBridgeClientWorker -eComando para iniciar el trabajador del cliente Bridge. Se requiere el argumento -e y se ejecuta el comando en primer plano. Actualmente, el modo en segundo plano no es compatible.
      --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.
      --poolId(Opcional) ID del grupo asignado al cliente. Consulte Usar un ID de grupo.

      Ejemplo de comando

      /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"
  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 TabBridgeClientWorker , 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

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 lo siguiente:

LC_ALL=en_US.UTF-8 /opt/tableau/tableau_bridge/bin/TabBridgeClientWorker -e

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