Implementar Data Connect

Antes de implementar Data Connect en su organización, compruebe que haya cumplido con los requisitos previos:

Paso 1: Configurar su clúster

Verifique la siguiente conectividad y acceso:

  • La infraestructura, el clúster y el contenedor de Data Connect requieren acceso de red a los servicios del proveedor de orquestación (n.° 2 en la imagen de arriba) y a Tableau Cloud (solo saliente, n.° 5).

  • La infraestructura, el clúster, el contenedor y el agente de Data Connect requieren acceso de red a su base de datos (#6).

Consulte Especificaciones de red.

Implementar y configurar

Ejecute el siguiente procedimiento en cada computadora de su organización donde desee ejecutar el clúster de Kubernetes.

  1. Asegúrese de que el volumen secundario no está formateado. Ejecute el siguiente comando en el nodo de Linux:

    lsblk -f

    La siguiente imagen muestra un ejemplo en el que el volumen adicional nvme1n1 en un nodo del clúster no tiene formato y el campo FSTYPE está vacío:

  2. En la pestaña Data Connect, en Agrupaciones, haga clic en el botón Nueva agrupación. En la ventana Nueva agrupación, escriba un nombre de agrupación y haga clic en Crear.

  3. En la pestaña Conectar datos, en Clúster y nodos, haga clic en Nuevo clúster. En la ventana Nuevo clúster, escriba un nombre de clúster y haga clic en Crear.

  4. En el clúster que acaba de crear, haga clic en la columna Acciones y luego haga clic en Nuevo nodo. En la ventana Agregar nuevo nodo, haga clic en Descargar archivo.

    Un archivo cluster.tar se descarga en su carpeta Descargas. Este archivo contiene los scripts de arranque que ejecutará en el nodo.

  5. Copie el archivo cluster.tar en el equipo. El siguiente ejemplo muestra cómo copiar el archivo .tar, extraer los archivos, cambiar el script a un archivo ejecutable y luego ejecutar el script. El ejemplo muestra esto en el contexto de AWS. Cambiar las rutas del archivo de su entorno.

    Ejecute los siguientes comandos como usuario root o sudo, reemplazando <key-name> y <IP-address> con sus valores:

    > scp -i <key-name>.pem /Downloads/cluster.tar ec2-user@ip-<IP-address>.us-west-2compute.internal:~/

    > ssh -i <key-name>.pem ex2-user@ip-<IP-address>.us-west-2compute.internal

    > tar -xvf clustertar.tar

    > chmod +x onboard_node.sh preflight_check.sh

    > ./onboard_node.sh

    Después de ejecutar el script, verá Successfully performed all operations en la ventana de Terminal y el equipo de Tableau comenzará el proceso de aprovisionamiento.

    Si encuentra un error, verifique que su implementación cumpla con los requisitos mínimos de hardware y las especificaciones de red descritas en Planificar la implementación de Data Connect.

  6. En la pestaña Conexión de datos de su sitio, busque la agrupación creada en el paso 2. En la columna Acciones, haga clic en Asignar clúster y luego seleccione el clúster que creó en el paso 3.

  7. Haga clic en la flecha (⌄) en el cluster para ver el nombre del host y las acciones disponibles. Si no se muestra esta información, es posible que tenga que volver a cargar la página. Después de confirmar el nombre de host en el nodo objetivo, haga clic en Aceptar nodo y luego haga clic Confirmar.

    El nodo del clúster pasa al estado de Aprovisionamiento. El aprovisionamiento del nodo puede tardar una hora o más.

  8. Cuando el estado de su nodo cambie a Disponible, navegue hasta el grupo al que asignó el clúster y haga clic en el botón de acciones (...) y luego haga clic en Actualizar tokens. Verifique que esté actualizando los tokens para el grupo correcto y luego haga clic en Confirmar.

  9. Espere a que finalice la actualización del token. Cuando se completa, el estado del grupo se establece como Disponible. Regrese al clúster y haga clic en el símbolo ⌄ para contraer la sección del nombre del clúster. Haga clic en el botón de acciones del clúster (...) y luego haga clic en Obtener información del registro de contenedor.

    • Si recibe un error al intentar este paso, el registro aún no está implementado y es posible que el proceso de aprovisionamiento aún esté finalizando. Espere unos minutos y vuelva a intentarlo.
    • Cuando se muestre la información de registro (nombre del servidor, nombre de usuario y contraseña), cópiela para el siguiente paso.

Paso 2: Crear su imagen base y publicarla

En este paso, creará su imagen base con los controladores y luego publique la imagen en el registro del contenedor de Docker. Antes de empezar:

  • Verifique que tenga la información de registro del contenedor Docker del paso anterior.

  • Cada agrupación puede incluir su propia imagen base única y un conjunto de controladores.

  • Si planea conectarse utilizando un archivo TDC, deberá incluir este archivo en su imagen base. El usuario del sistema, tableau, debe tener acceso de lectura a este archivo. Para obtener más información sobre cómo crear y almacenar este archivo, consulte el tema de ayuda de Tableau Desktop, Personalizar y ajustar una conexión(El enlace se abre en una ventana nueva).

Construir el contenedor

El siguiente procedimiento muestra un ejemplo en una distribución RHEL. Es posible que necesite instalar herramientas de administración de paquetes u otras herramientas específicas para su distribución.

  1. Inicie sesión en cualquier nodo del clúster de Kubernetes. Instale Docker y las herramientas complementarias según sea necesario:

    #RedHat
    sudo dnf install -y container-tools podman-docker
    #Ubuntu
    sudo apt-get update -y
    sudo apt-get install -y docker.io
  2. Cree el archivo de Docker:

    touch Dockerfile
  3. Actualice el Dockerfile para incluir los controladores necesarios para admitir sus conexiones. Los comandos especificados en este Dockerfile se ejecutarán durante el tiempo de compilación de su imagen base. Por ejemplo:

    # example base 
    FROM registry.access.redhat.com/ubi8
    RUN yum -y update
    WORKDIR /
    # Go to https://tableau.com/support/drivers
    # Follow the instructions to install your drivers for linux
    CMD [“/bin/bash”]

    El directorio de destino de los archivos del controlador variará. Consulte Descarga de controladores de Tableau(El enlace se abre en una ventana nueva) para obtener más información.

    Nota: Data Connect admite conectores de Exchange que tienen un controlador de Linux y están etiquetados como "Funciona con Tableau Cloud a través de Bridge". Para obtener más información, consulte Conectores de Tableau Exchange(El enlace se abre en una ventana nueva).

    Ejemplo de líneas de Dockerfile para un controlador JDBC público, utilizando el comando curl para descargar el controlador:

    RUN mkdir -p /opt/tableau/tableau_driver/jdbc
    RUN curl --location --output /opt/tableau/tableau_driver/jdbc/<file> <URL>
    				

    Ejemplo de líneas de Dockerfile para un controlador JDBC no público, usando copia:

    RUN mkdir -p /opt/tableau/tableau_driver/jdbc
    COPY  <file> /opt/tableau/tableau_driver/jdbc

    Ejemplo de líneas de Dockerfile para un controlador TACO, usando copia:

    RUN mkdir -p /home/tableau/Documents/My_Tableau_Bridge_Repository/Connectors
    COPY  <file> /home/tableau/Documents/My_Tableau_Bridge_Repository/Connectors
  4. Mientras aún esté conectado a su nodo de clúster de Kubernetes, configure la variable POOL_ID con el valor de la identificación de agrupación. Para mostrar el valor de la identificación de la agrupación, abra la pestaña Data Connect y haga clic en el nombre de la agrupación.

    • Establezca el valor de registro que copió en los valores respectivos.

      REGISTRY_HOSTNAME=registry_host_name_you_copied
      REGISTRY_USERNAME=registry_user_name_you_copied
      REGISTRY_PASSWORD=registry_password_you_copied
    • Establezca el valor de ID del grupo:

      POOL_ID=<pool_id_value>
  5. Cree el contenedor que se utilizará como imagen base.

    docker build -f <path_to_dockerfile> -t $REGISTRY_HOSTNAME/bridge-base:$POOL_ID .
  6. Inicie sesión en su nodo de Kubernetes existente y envíe la imagen al registro de contenedor local.

    docker login --username $REGISTRY_USERNAME $REGISTRY_HOSTNAME
    docker push $REGISTRY_HOSTNAME/bridge-base:$POOL_ID
  7. Debajo del grupo que esté configurando, haga clic en el botón de acciones (...) y haga clic en Actualizar imagen base. Esta acción iniciará una implementación utilizando la imagen base y puede demorar hasta 10 minutos.

    Nota: Cada vez que se crea y actualiza una nueva imagen base, se creará una nueva implementación. El agente de Bridge utilizado para la imagen base anterior persistirá como un recurso no asignado. No elimine agentes de Bridge no asignados.

Paso 3: Asignar un dominio a una agrupación

Los nombres de dominio que especifica en la lista de permitidos son los nombres de servidor utilizados en la conexión de fuente de datos.

  1. Mientras esté en la pestaña Data Connect, en la sección de agrupación y lista de admisión de red privada, seleccione el grupo que ha asignado y haga clic en Nuevo dominio en la columna Acciones.

  2. En el cuadro de texto Dominio, indique la URI del dominio usando la información descrita en Reglas de registro de la lista de permitidos. La URI de dominio que especifique se limitará únicamente al grupo que esté configurando.

  3. En Permisos de dominio, confirme que el botón de selección Permitir esté seleccionado.

  4. Cuando acabe, haga clic en Guardar.

Solucionar errores de conexión

Debe configurar su infraestructura de red para que Data Connect pueda alcanzar todas las fuentes de datos requeridas a las que desea conectarse. Para verificar que Data Connect pueda llegar a sus fuentes de datos, ejecute el siguiente comando curl desde los nodos donde se ejecutará Data Connect:

$ curl -v $DB_HOSTNAME:$DB_PORT

Si ha configurado correctamente su conexión, debería ver una colección de respuestas. Aquí se muestran algunos ejemplos:

  • Host $DB_HOSTNAME:$DB_PORT was resolved: confirma que los servidores DNS resolvieron exitosamente el nombre de host.

  • Connected to $DB_HOSTNAME: confirma que el nodo tiene conexión de red.

  • Empty reply from server. Closing connection: esto es lo esperado ya que curl no es un cliente de base de datos.

  • Could not resolve host: $DB_HOSTNAME: hay un problema con la resolución de DNS.

  • Trying $DB_IP_ADDRESS:$DB_PORT: cuando este mensaje va seguido de un resultado colgado, hay un problema de red.

Si utiliza un tercero para la infraestructura de conexión de datos, asegúrese de que el tercero no interrumpa la lógica de la red.

(Opcional) Paso 4: Compartir clústeres entre sitios

De forma predeterminada, los clústeres de Data Connect y sus nodos correspondientes solo los utiliza el sitio donde se crearon originalmente. Sin embargo, los clústeres de Data Connect se pueden compartir entre todos los sitios dentro de su inquilino de Tableau Cloud Manager. Al compartir clústeres se pueden realizar consultas en diferentes sitios dentro del inquilino para utilizar la misma infraestructura de nodo.

Para garantizar la privacidad de los datos en todos los sitios, ningún dato sobre su clúster compartido está disponible para ningún otro sitio de su inquilino.

Nota: Compartir un clúster es una operación permanente. Para dejar de compartir un clúster, tendrá que eliminarlo y reinstalarlo.

Los clústeres solo se pueden compartir después de que se hayan aceptado correctamente en el sitio original donde se crearon.

Para compartir un clúster de Data Connect:

  • Navegue hasta el clúster que desea compartir, haga clic en el icono de puntos suspensivos de acción (...) y luego haga clic en Compartir.

Una vez que haya compartido el clúster, los administradores del sitio en otros sitios dentro de su inquilino podrán usar el clúster con cualquier agrupación que creen en su sitio.

(Opcional) Paso 5: Crear una agrupación en un clúster compartido como destinatario del clúster

Antes de crear su agrupación como destinatario en un clúster compartido, verifique lo siguiente:

  • El clúster compartido tiene conectividad de red con las bases de datos utilizadas por su sitio

  • Todos los controladores de base de datos requeridos por la base de datos en su sitio deben estar instalados en el clúster

Para comenzar a usar un clúster compartido como destinatario del clúster, deberá comunicarse con el propietario del clúster para que la imagen base de su grupo se agregue al clúster:

  1. En la pestaña Data Connect, en Agrupaciones, haga clic en el botón Nueva agrupación.

  2. En la ventana Nueva agrupación, escriba un nombre de agrupación y haga clic en Crear.

  3. En la nueva agrupación, haga clic en Asignar clúster, seleccione el clúster compartido, haga clic en el botón de puntos suspensivos de acción (...) y luego haga clic en Tokens de actualización.

  4. Verifique que esté actualizando los tokens para el grupo correcto y luego haga clic en Confirmar.

  5. Cuando el estado de la agrupación se establezca en Disponible, copie el Pool_ID de su agrupación. Para mostrar el valor Pool_ID, haga clic en el nombre de la agrupación.

  6. Añada una imagen base para su sitio. Consulte Paso 2: Crear su imagen base y publicarla, arriba.

    El administrador con acceso al clúster deberá crear un nuevo contenedor con el valor Pool_ID como parte de agregar la imagen base. También necesitará los valores de registro en el sitio que creó originalmente el clúster, que puede proporcionar el propietario del clúster.

  7. Una vez publicada la imagen base en el registro de contenedor local, navegue hasta la agrupación en el sitio compartido y haga clic en Actualizar imagen base.

  8. Para completar la configuración, consulte Paso 3: Asignar un dominio a una agrupación, arriba.

Agregar un nodo desde un clúster existente

  1. Navegue hasta el clúster y haga clic Nuevo nodo.

  2. Siga los pasos 4, 5, 7, 8, 9 del procedimiento anterior. Paso 1: Configurar su clúster. Omita el paso 6 ya que no necesitará asignar el clúster.

  3. Una vez completado el paso del token de actualización, vaya al grupo asociado con el clúster y haga clic en Actualizar imagen base.

Nota: Cuando se crea y actualiza una nueva imagen base, se creará una nueva implementación. El cliente de Bridge utilizado para la imagen base anterior persistirá como un recurso no asignado. No elimine clientes de Bridge no asignados.

Eliminar un nodo desde un clúster existente

Después de eliminar un nodo de un clúster, Tableau Cloud ya no podrá acceder al cliente de Bridge. Cualquier trabajo que se esté ejecutando en Data Connect en el momento en que se elimina el nodo fallará. Sin embargo, no se enviarán trabajos adicionales a esos clientes de Bridge.

Para eliminar un nodo, navegue hasta el clúster, haga clic en el icono de puntos suspensivos de acción (...) y seleccione Eliminar.

Actualización de imágenes base para agrupaciones existentes

Si decide utilizar una nueva base de datos o actualizar un controlador que utilizará su clúster Data Connect, puede realizar cambios en las imágenes base existentes para adaptarlos a esos cambios. Para ello, actualice el archivo contenedor con los cambios como se explica en Paso 2: Crear su imagen base y publicarla. Después de haber actualizado el archivo contenedor, haga clic en Actualizar imagen base. Su imagen base anterior se utilizará hasta que la nueva imagen base se haya implementado correctamente.

Solucionar problemas de conectividad de base de datos

Comience por validar que sus dominios cumplan con las reglas de registro de la lista de admisión. Consulte Configurar agrupaciones.

Después, confirme que ha configurado su infraestructura de red para que Data Connect pueda alcanzar todas las fuentes de datos requeridas a las que desea conectarse. Para verificar que Data Connect pueda llegar a sus fuentes de datos, ejecute el siguiente comando curl desde los nodos donde se ejecutará Data Connect:

$ curl -v $DB_HOSTNAME:$DB_PORT

Si ha configurado correctamente su conexión, debería ver una colección de respuestas. Aquí se muestran algunos ejemplos:

  • Host $DB_HOSTNAME:$DB_PORT was resolved: confirma que los servidores DNS resolvieron exitosamente el nombre de host.

  • Connected to $DB_HOSTNAME: confirma que el nodo tiene conexión de red.

  • Empty reply from server. Closing connection: esto es lo esperado ya que curl no es un cliente de base de datos.

  • Could not resolve host: $DB_HOSTNAME: hay un problema con la resolución de DNS.

  • Trying $DB_IP_ADDRESS:$DB_PORT: cuando este mensaje va seguido de un resultado colgado, hay un problema de red.

Si utiliza un tercero para la infraestructura de conexión de datos, asegúrese de que el tercero no interrumpa la lógica de la red.