Bridge voor Linux voor containers installeren

Bridge voor Linux biedt de schaalbaarheid en gestroomlijnde beheermogelijkheden van gecontaineriseerde workloads. Met de volgende instructies kunt u eenvoudig Bridge voor Linux uitvoeren. Hierbij wordt ervan uitgegaan dat u basiskennis hebt van Docker en de belangrijkste termen die in het ecosysteem worden gehanteerd.

Bridge installeren en uitvoeren vanuit een Docker-container

Om Bridge op Linux te gebruiken, moet u een aangepaste Docker-image maken, het RPM-pakket installeren en vervolgens Bridge uitvoeren vanuit de containerimage.

Vereisten

  • Docker-engine geïnstalleerd. Voor de basisimage van de docker-container wordt Bridge op Linux ondersteund op:
    • Amazon Linux 2
    • Amazon Linux 2023
    • Red Hat 8.3 en hoger

      Opmerking: CentOS wordt niet ondersteund.

  • Het nieuwste Tableau Bridge RPM-pakket van de pagina Downloads(Link wordt in een nieuw venster geopend) op de Tableau-website.
  • Ervaring met het Linux-besturingssysteem.
  • Shell-basisscripting.
  • Docker-ervaring.
  • Persoonlijk toegangstoken (PAT-nummer) voor Tableau Site-beheerder. We raden aan om per Bridge-client één PAT-token te gebruiken.

Stap 1: Maak een Bridge-containerimage

De volgende stappen zijn de basisinstructies om een Bridge op een Linux-basisimage te maken. Zie Docker-overzicht voor meer informatie.

Wanneer Docker is geïnstalleerd, is root de enige gebruiker die opdrachten mag uitvoeren. U kunt Docker-opdrachten uitvoeren met sudo of een gebruiker die lid is van de Docker-groep.

  1. Download het Bridge.rpm-pakket op de pagina Downloads(Link wordt in een nieuw venster geopend) op de Tableau-website.
  2. (Optioneel) U kunt de configuratie-instellingen bewerken om te wijzigen hoe de client wordt uitgevoerd. Zie De Bridge-clientinstellingen wijzigen voor meer informatie.
  3. Maak een werkmap en verplaats het .rpm-pakket naar de directory.

    cd ~

    $ mkdir Docker

    $ cd Docker

    $ mv <RPM_location>.rpm .

  4. Maak een Docker-bestand in de werkdirectory. Bijvoorbeeld:

    $ touch Dockerfile

  5. Bewerk het Docker-bestand en voeg de opdrachten toe om yum update. uit te voeren.

    Red Hat-voorbeeld

    Voor Red Hat 8:

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

    RUN yum -y update

  6. Bewerk het Docker-bestand en voer vervolgens de opdrachten in om het Bridge RPM-pakket uit de image te kopiëren, installeren en verwijderen. Bijvoorbeeld:

    COPY <your_bridge_rpm>.rpm /<path_of_container>

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

  7. Bouw een nieuwe containerimage met de bouwopdracht docker.

    Met de volgende opdracht wordt er een image in de huidige directory gemaakt en voorzien van de woorden ​"bridge_base".

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

  8. Controleer of de basisimage die u hebt gemaakt, wordt weergegeven in de lijst met images:

    docker images | grep bridge

Stap 2: Installeer de stuurprogramma's

De Bridge-client heeft stuurprogramma's nodig om de connectiviteit tussen privénetwerkdata en Tableau Cloud mogelijk te maken. Ga voor stuurprogramma's naar Stuurprogramma downloaden, selecteer de databron en selecteer vervolgens Linux als besturingssysteem.

  1. De installatie kan interactief worden uitgevoerd nadat de basisimage is gestart, of er kunnen aparte Docker-bestanden als laag bovenop de basisimage worden weggeschreven.

    Voorbeeld

    Met de RPM van het MySQL-stuurprogramma dat naar de directory is gekopieerd, kunt u een aparte werkdirectory maken om MySQL-stuurprogramma's te stapelen met behulp van het volgende Docker-bestand:

    # 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

    Voorbeeld

    Installeer een Postgres JDBC-stuurprogramma. Dit kan ook in een apart Docker-bestand worden gedaan.

    # Using previously built bridge_base image

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

    Voorbeeld

    Installeer het Amazon Redshift-stuurprogramma.

    # 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. Een nieuwe image maken
  3. docker image build -t bridge_final .

    De bridge_final-image gebruikt de in cache geplaatste image uit de vorige stap en automatiseert de installatie van het stuurprogramma voor al uw Bridge-instanties. Als u over een opslagplaats met images beschikt, kunt u de image in de opslagplaats publiceren en naar alle computers distribueren waarop u Bridge wilt uitvoeren.

Stap 3: Voer de Bridge-container uit

Nu u een basisimage hebt gemaakt, kunt u deze op verschillende manieren implementeren. De basisstappen zijn:

  1. Start de instantie van de Bridge-container.
  2. Log in en start de worker.
  3. Wijs de agent toe aan een pool.

Opmerking: Bridge voor Linux biedt geen ondersteuning voor Bridge (oudere planningen). Zie Migreren van Bridge (verouderd) naar online planningen voor meer informatie.

  1. Voordat u begint met het implementeren van de container, moet u een Persoonlijk toegangstoken (PAT-nummer) maken. Het PAT is vereist om te kunnen inloggen bij de agent. Tableau Cloud ondersteunt 104 PAT's per gebruiker. We raden aan om per client één PAT-token te gebruiken.

    Opmerking: de volgende tokennamen moeten overeenkomen: de patTokenId (gebruikt bij het uitvoeren van de opdracht run-bridge.sh), de tokennaam in het JSON-bestand en de tokennaam bij het genereren van de PAT in Tableau Cloud.

  2. Stel de landinstelling in Docker in met behulp van ENV LC_ALL en_US.UTF-8. U kunt de landinstellingen ook instellen door het volgende toe te voegen aan het /etc/profile-bestand.
  3. export LANG="en_US.utf8"

    export LANGUAGE="en_US.utf8"

    export LC_ALL="en_US.utf8"

  4. Start een instantie van de Bridge-container. Er zijn verschillende manieren om de containerimage in te stellen en te starten. De volgende interactieve methode geeft aan welke stappen nodig zijn om de worker te starten. Zodra u afsluit, wordt het uitvoeren van de container gestopt.
    1. Gebruik de volgende methode om als root naar de shell-prompt voor de container te gaan. De overige opdrachten worden uitgevoerd in de context van deze interactieve sessie van de container.

      docker container run -it bridge_final /bin/bash

    2. Voeg het PAT-token toe aan een bestand zonder opmaak in JSON-indeling. Bijvoorbeeld:

      /home/jSmith/Documents/MyTokenFile.txt

    3. Voorbeeld van token-syntaxis:

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

    4. Wijzig de bestandsmachtigingen om de toegang tot de huidige gebruiker te beperken. Bijvoorbeeld:

      chmod 600 MyTokenFile.txt

    5. Start de worker met de opdracht run-bridge.sh en geef de volgende opdrachtopties op:

      OpdrachtBeschrijving
      --patTokenIdDe ID van het PAT. Zie Persoonlijke toegangstokens voor meer informatie.
      --userEmailE-mailadres van de gebruiker die is gekoppeld aan het PAT.
      --clientDe naam die u aan de worker wilt geven.
      --siteSitenaam zoals deze in de URI wordt weergegeven. Voeg het URI-pad niet toe.
      --patTokenFileBestandsnaam en pad naar het PAT-tekstbestand.
      -e(Optioneel) Standaard wordt de Bridge-clientworker als achtergrondservice uitgevoerd. Om de worker op de voorgrond uit te voeren, voegt u het argument -e toe.
      --poolId(Optioneel) Pool-ID die aan de client is toegewezen. Zie Een pool-ID gebruiken.

      Voorbeeld van een opdracht

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

      Opmerking: als u oudere versies van de Bridge voor Linux installeert, moet u een andere opdracht uitvoeren om de worker te starten. Voor versies 2024.2 en ouder moet u de worker starten met de opdracht TabBridgeClientWorker (niet de opdracht run-bridge.sh). Alle opdrachtopties zijn hetzelfde.

  5. Het volgende bericht geeft aan dat de agent is gestart: “Service started: ...”

    Gebruik Control-C om de worker te stoppen. In plaats van de worker opnieuw te starten, kunt u een nieuwe worker voor de containerimage starten.

    Als u geen pool met de opdrachtoptie --poolId hebt toegewezen, wordt de client toegewezen aan de standaardpool. Als u de client met specifieke domeinen of VConns wilt gebruiken, kunt u de client via de gebruikersinterface aan een benoemde pool toewijzen. Het menu hiervoor in Tableau Cloud is Start > Instellingen > Bridge. Zie De Bridge-clientpool configureren voor meer informatie.

Een pool-ID gebruiken

Als u de Bridge-worker start met de opdracht run-bridge.sh, is poolId optioneel. Het gedrag van de client is echter afhankelijk van de vraag of de client is geregistreerd op een site en of de client is toegewezen aan een pool. Tableau Bridge kan op elk willekeurig moment verbinding maken met of zich registreren bij één Tableau Cloud-site. De client wordt geregistreerd op een site wanneer u zich afmeldt en opnieuw aanmeldt.

Als er geen pool-ID is opgegeven

  • Als de Bridge-client is geregistreerd, blijft de clientstatus hetzelfde:
    • Als de client aan een pool is toegewezen, blijft deze aan de pool toegewezen, ongeacht of het een benoemde pool of een standaardpool is.
    • Als de client niet aan een pool is toegewezen, blijft deze niet toegewezen.
  • Als de Bridge-client nieuw is (u bent nog nooit aangemeld bij Tableau Cloud), wordt de client toegewezen aan de standaardpool.

Als er een pool-ID wordt verstrekt

  • Als de pool-ID is opgegeven en correct is, wordt de Bridge-client toegewezen aan de genoemde pool.
  • Als de pool-ID is opgegeven en onjuist is:
    • Als de Bridge-client niet is geregistreerd, wordt de client toegewezen aan de standaardpool.
    • Als de Bridge-client is geregistreerd, blijft de clientstatus hetzelfde, ongeacht of het een benoemde pool, standaardpool of niet-toegewezen pool betreft.

De pool-ID vinden

Om de pool-ID te vinden, gaat u naar de pagina Instellingen > Bridge en klikt u op de naam van de pool. Bijvoorbeeld:

Problemen oplossen

Oudere versies installeren

Als u oudere versies van de Bridge voor Linux installeert, moet u een andere opdracht uitvoeren om de worker te starten. Voor versies 2024.2 en ouder start u de worker met de opdracht TabBridgeClientWorker (niet de opdracht run-bridge.sh).

Alle opdrachtopties zijn hetzelfde als hierboven gedocumenteerd in Stap 3: Voer de Bridge-container uit.

Bijvoorbeeld: 

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

Fout bij opstarten van worker

In sommige gevallen wordt de volgende fout weergegeven nadat u de opdracht run-bridge.sh hebt uitgevoerd:

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

In de meeste gevallen moet u de opdracht opnieuw uitvoeren met de oorspronkelijke opties. De optie -e lost het probleem op. Met de optie -e wordt de Bridge Worker-service op de voorgrond uitgevoerd.

Werken met logbestanden

Logbestanden worden opgeslagen in de map My_Tableau_Bridge_Repository/Logs van de gebruiker. Om logboeken op te slaan in een tmp -map, voert u de volgende opdracht uit:

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

In dit voorbeeld wordt de locatie opgegeven door /tmp/brug_logs. Met de Docker-opdracht kunt u de logbestanden eenvoudiger opslaan en hoeft u de Bridge-logbestanden niet handmatig uit de container naar uw lokale bestandssysteem te kopiëren.

MySQL-stuurprogramma mislukt

Als LC_MESSAGES niet ingesteld zijn met UTF-8-landinstellingen, kunnen er lees- en weergaveproblemen optreden. U kunt het bestand /etc/profile bewerken of de worker opnieuw starten met behulp van de volgende opdracht:

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

Bridge Client stopt onverwacht vanwege het verlopen van het Personal Access Token

Wanneer een Personal Access Token (PAT) verloopt, wordt de verbinding tussen de Bridge-client en Tableau Cloud verbroken en kan de container worden afgesloten. U kunt vanuit de Bridge-client controleren of uw PAT is verlopen door de opdracht Start op de voorgrond uit te voeren. Als het PAT is verlopen, ziet u de volgende fout:

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

Als u de oorspronkelijke eigenaar van het PAT bent, kunt u ook controleren of het PAT is verlopen door naar Accountinstellingen beheren te gaan in Tableau Cloud. Om het probleem op te lossen, moet u een nieuw PAT genereren en de bovenstaande stappen volgen - Stap 3: Voer de Bridge-container uit.

Time-outfouten met ingesloten extract en ingesloten live verbinding

Release 24.3 van Bridge op Linux heeft aanzienlijke prestatieverbeteringen geleverd voor ingesloten extracten en ingesloten liveverbindingen. Als u te maken krijgt met time-outfouten bij eerdere releases, raden wij aan te upgraden naar versie 24.3 van Bridge voor Linux. Als het probleem hiermee niet is opgelost, publiceer dan de databron afzonderlijk van de werkmap.