Installer Bridge pour Linux pour les conteneurs

Bridge pour Linux offre l’évolutivité et les capacités de gestion rationalisées des charges de travail conteneurisées. Les instructions suivantes décrivent une manière légère d’exécuter Bridge pour Linux et supposent que vous possédez une connaissance de base de Docker et des termes clés utilisés dans l’écosystème.

Installer et exécuter Bridge à partir d’un conteneur Docker

Pour utiliser Bridge sous Linux, vous devez créer une image Docker personnalisée, installer le package RPM, puis exécuter Bridge à partir de l’image du conteneur.

Conditions préalables

  • Moteur Docker installé. Pour l’image de base du conteneur Docker, Bridge sur Linux est pris en charge sur :
    • Amazon Linux 2
    • Amazon Linux 2023
    • Red Hat 8.3 et versions ultérieures

      Remarque : CentOS n’est pas pris en charge.

  • Le package Tableau Bridge RPM le plus récent disponible dans la page Téléchargements(Le lien s’ouvre dans une nouvelle fenêtre) sur le site Web de Tableau.
  • Expérience avec le système d’exploitation Linux.
  • Script shell de base.
  • Expérience Docker.
  • Jeton d’accès personnel (PAT) de l’administrateur du site Tableau. Nous vous recommandons d’utiliser un jeton PAT par client Bridge.

Étape 1 : Créer une image de conteneur Bridge

Vous trouverez ci-après les instructions de base pour créer une image de base de Bridge sous Linux. Pour en savoir plus, consultez la rubrique Présentation de Docker.

Lorsque Docker est installé, le seul utilisateur autorisé à exécuter des commandes est root. Vous pouvez exécuter des commandes Docker avec sudo ou via un utilisateur membre du groupe Docker.

  1. Téléchargez le package .rpm de Bridge depuis la page Téléchargements(Le lien s’ouvre dans une nouvelle fenêtre) sur le site Web de Tableau.
  2. (Facultatif) Vous pouvez modifier les paramètres de configuration pour changer la manière dont le client s’exécutera. Consultez la section Modifier les paramètres du client Bridge pour plus d’informations.
  3. Créez un répertoire de travail et déplacez-y le package .rpm.

    cd ~

    $ mkdir Docker

    $ cd Docker

    $ mv <RPM_location>.rpm .

  4. Créez un fichier Docker dans le répertoire de travail. Par exemple :

    $ touch Dockerfile

  5. Modifiez le fichier Docker et ajoutez les commandes pour exécuter yum update.

    Exemple Red Hat

    Pour Red Hat 8 :

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

    RUN yum -y update

  6. Modifiez le fichier Docker, puis entrez les commandes pour copier, installer et supprimer le package RPM Bridge depuis l’image. Par exemple :

    COPY <your_bridge_rpm>.rpm /<path_of_container>

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

  7. Créez une nouvelle image de conteneur à l’aide de la commande build docker.

    Par exemple, la commande suivante crée une image dans le répertoire actuel en y ajoutant la balise ​"bridge_base" :

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

  8. Vérifiez que l’image de base que vous avez créée est affichée dans la liste des images :

    docker images | grep bridge

Étape 2 : Installer les pilotes

Le client Bridge a besoin de pilotes pour faciliter la connectivité entre les données du réseau privé et Tableau Cloud. Pour les pilotes, accédez à Téléchargement du pilotes, sélectionnez la source de données, puis sélectionnez Linux comme système d’exploitation.

  1. L’installation peut être effectuée de manière interactive après le lancement de l’image de base, ou des fichiers Docker distincts peuvent être écrits sous forme de couche au-dessus de l’image de base.

    Exemple

    Une fois que vous avez copié le RPM du pilote MySQL dans le répertoire, vous pouvez créer un répertoire de travail distinct pour superposer les pilotes MySQL à l’aide du Dockerfile suivant :

    # 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

    Exemple

    Installation d’un pilote JDBC postgres. Vous pouvez également utiliser un Dockerfile séparé.

    # Using previously built bridge_base image

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

    Exemple

    Installation du pilote 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. Création d’une nouvelle image :
  3. docker image build -t bridge_final .

    L’image bridge_final utilise l’image mise en cache de l’étape précédente et automatise l’installation du pilote pour toutes vos instances Bridge. Si vous disposez d’un référentiel d’images, vous pouvez publier l’image dans ce référentiel et la distribuer à tous les ordinateurs sur lesquels vous souhaitez exécuter Bridge.

Étape 3 : Exécuter le conteneur Bridge

Maintenant que vous avez créé une image de base, vous pouvez la déployer à l’aide de diverses méthodes. Suivez ces étapes de base :

  1. Démarrez l’instance du conteneur Bridge.
  2. Connectez-vous et démarrez le worker.
  3. Affectez l’agent à un pool.

Remarque : Bridge pour Linux ne prend pas en charge (les anciennes programmations) Bridge. Voir Migrer des (anciennes) programmations Bridge vers les programmations Online pour plus d’informations.

  1. Avant de commencer à déployer le conteneur, créez un Jeton d’accès personnel (PAT). Le PAT est requis pour se connecter à l’agent. Tableau Cloud prend en charge 104 PAT par utilisateur. Nous vous recommandons d’utiliser un jeton PAT par client.

    Remarque : les noms de jetons suivants doivent correspondre : le patTokenId (utilisé lors de l’exécution de la commande run-bridge.sh), le nom du jeton dans le fichier JSON et le nom du jeton lors de la génération du PAT dans Tableau Cloud.

  2. Définissez les paramètres régionaux dans Docker en utilisant ENV LC_ALL en_US.UTF-8. Vous pouvez également définir les paramètres régionaux en ajoutant ce qui suit au fichier /etc/profile :
  3. export LANG="en_US.utf8"

    export LANGUAGE="en_US.utf8"

    export LC_ALL="en_US.utf8"

  4. Démarrez une instance du conteneur Bridge. Il existe de nombreuses manières de configurer et de démarrer l’image du conteneur. La méthode interactive suivante illustre les étapes nécessaires pour démarrer le worker. Lorsque vous quittez, le conteneur cesse de fonctionner.
    1. Utilisez la méthode suivante pour déplacer l’invite du shell pour le conteneur en tant que root. Le reste des commandes est exécuté dans le cadre de cette session interactive du conteneur.

      docker container run -it bridge_final /bin/bash

    2. Ajoutez le jeton PAT à un fichier plat au format JSON. Par exemple :

      /home/jSmith/Documents/MyTokenFile.txt

    3. Exemple de syntaxe de jeton :

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

    4. Modifiez les autorisations du fichier pour restreindre l’accès à l’utilisateur actuel. Par exemple :

      chmod 600 MyTokenFile.txt

    5. Démarrez le worker avec la commande run-bridge.sh et fournissez les options de commande suivantes :

      CommandeDescription
      --patTokenIdID du PAT. Voir Jetons d’accès personnels pour plus d’informations.
      --userEmailAdresse e-mail de l’utilisateur associé au PAT.
      --clientNom que vous souhaitez donner au worker.
      --siteNom du site tel qu’il apparaît dans l’URI. N’incluez pas le chemin de l’URI.
      --patTokenFileNom du fichier et chemin d’accès au fichier texte PAT.
      -e(Facultatif) Par défaut, le worker du client Bridge s’exécute en tant que service en arrière-plan. Pour exécuter le worker au premier plan, incluez l’argument -e.
      --poolId(Facultatif) ID de pool attribué au client. Voir Utiliser un ID de pool.

      Exemple de commande

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

      Remarque : si vous installez des versions plus anciennes de Bridge pour Linux, vous devez exécuter une commande différente pour démarrer le worker. Pour les versions 2024.2 et antérieures, démarrez le worker avec la commande TabBridgeClientWorker (et non la commande run-bridge.sh). Toutes les options de commande sont les mêmes.

  5. Le message suivant indique que l’agent a démarré. “Service started: ...”

    Utilisez Control-C pour arrêter le worker. Plutôt que de redémarrer le worker, vous pouvez démarrer un nouveau worker pour l’image du conteneur.

    Si vous n’avez pas attribué de pool à l’aide de l’option de commande --poolId, le client est affecté au pool par défaut. Si vous souhaitez utiliser le client avec des domaines ou des VConn spécifiques, vous pouvez affecter le client à un pool nommé à l’aide de l’interface utilisateur. Le menu correspondant sur Tableau Cloud est Accueil > Paramètres > Bridge. Pour plus d’informations, consultez Configurer le pool de clients Bridge.

Utiliser un ID de pool

Lorsque vous démarrez le worker Bridge avec la commande run-bridge.sh, poolId est facultatif. Toutefois, le comportement du client varie selon qu’il est inscrit sur un site ou affecté à un pool. Tableau Bridge ne peut se connecter ou s’enregistrer que sur un seul Tableau Cloud à la fois. Le client est enregistré sur un site lorsque vous vous déconnectez et vous reconnectez.

Si aucun ID de pool n’est fourni

  • Si le client Bridge a été enregistré, le statut du client reste le même :
    • Si le client est affecté à un pool, il lui reste affecté, qu’il s’agisse d’un pool nommé ou d’un pool par défaut.
    • Si le client n’est pas affecté à un pool, il restera non affecté.
  • Si le client Bridge est nouveau (vous ne vous êtes jamais connecté à Tableau Cloud), le client est affecté au pool par défaut.

Si un ID de pool est fourni

  • Si l’ID du pool est fourni et correct, le client Bridge est affecté au pool nommé.
  • Si l’ID du pool est fourni et incorrect :
    • Si le client Bridge n’est pas enregistré, le client est affecté au pool par défaut.
    • Si le client Bridge est enregistré, le statut du client reste le même, quel que soit le pool nommé, le pool par défaut ou non attribué.

Trouver l’ID du pool

Pour trouver l’ID du pool, accédez à la page Paramètres > Bridge et cliquez sur le nom du pool. Par exemple :

Résolution des problèmes

Installation d’anciennes versions

Si vous installez des versions plus anciennes de Bridge pour Linux, vous devez exécuter une commande différente pour démarrer le worker. Pour les versions 2024.2 et antérieures, démarrez le worker avec la commande TabBridgeClientWorker (et non la commande run-bridge.sh).

Toutes les options de commande sont les mêmes que celles documentées ci-dessus dans Étape 3 : Exécuter le conteneur Bridge.

Par exemple : 

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

Erreur de démarrage du worker

Dans certains cas, l’erreur suivante s’affichera après l’exécution de la commande run-bridge.sh :

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

Dans la plupart des cas, réexécuter la commande avec les options d’origine et l’option -e résout le problème. L’option -e exécute le service du worker Bridge au premier plan.

Travailler avec des fichiers journaux

Les fichiers journaux sont stockés dans le dossier My_Tableau_Bridge_Repository/Logs de l’utilisateur. Vous pouvez enregistrer les journaux dans un dossier tmp en exécutant la commande suivante :

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

Dans cet exemple, l’emplacement est spécifié par /tmp/bridge_logs. L’utilisation de la commande docker simplifie l’enregistrement des fichiers journaux et vous évite de devoir copier manuellement les fichiers journaux Bridge du conteneur vers votre système de fichiers local.

Échec du pilote MySQL

Si LC_MESSAGES ne sont pas définis avec les paramètres régionaux UTF-8, vous pouvez rencontrer des problèmes de lecture et d’affichage. Vous pouvez modifier le fichier /etc/profile ou relancer le worker à l’aide de la commande suivante :

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

Le client Bridge s’arrête de manière inattendue en raison de l’expiration du jeton d’accès personnel

Lorsqu’un jeton d’accès personnel (PAT) expire, le client Bridge est déconnecté de Tableau Cloud, ce qui peut entraîner l’arrêt du conteneur. Depuis le client Bridge, vous pouvez valider si votre PAT a expiré en exécutant la commande Démarrer au premier plan. Si le jeton d’accès personnel a expiré, il se peut que l’erreur suivante s’affiche :

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

Si vous êtes le propriétaire d’origine du PAT, vous pouvez également vérifier si le PAT a expiré en visitant Gérer les paramètres du compte dans Tableau Cloud. Pour résoudre le problème, vous devrez générer un nouveau PAT et suivre les étapes ci-dessus, Étape 3 : Exécuter le conteneur Bridge.

Erreurs d’expiration de délai pour les extraits intégrés et les connexions en direct intégrées

La version 24.3 de Bridge sur Linux a apporté d’importantes améliorations des performances pour les extraits intégrés et les connexions en direct intégrées. Si vous rencontrez des erreurs d’expiration de délai sur les versions antérieures, nous vous recommandons de mettre à niveau vers une version 24.3+ de Bridge sur Linux. Si cela ne résout pas le problème, publiez la source de données séparément du classeur.

Merci de vos commentaires !Avis correctement envoyé. Merci