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:
  • Tableau Bridge RPM-pakket.
  • Ervaring met het Linux-besturingssysteem.
  • Basiskennis van shell-scripting en Docker.
  • Persoonlijk toegangstoken (PAT-nummer) voor Tableau Site-beheerder. Tableau raadt aan om per 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

    Voor Red Hat 7:

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

    RUN yum -y update

    Centos-voorbeeld

    Voor Centos 7:

    FROM centos:7

    RUN yum -y update

  6. Bewerk het Docker-bestand en voeg de opdrachten toe om het RPM-pakket van de Bridge te kopiëren, het pakket te installeren en het vervolgens uit de image te verwijderen

    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 docker build-opdracht. Met de volgende opdracht wordt een afbeelding 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. Tableau raadt aan om per client één PAT-token te gebruiken.

    Opmerking: de volgende tokennamen moeten overeenkomen: de patTokenId (gebruikt bij het uitvoeren van de opdracht TabBridgeClientWorker), 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 TabBridgeClientWorker en geef de volgende opdrachtopties op:

      OpdrachtBeschrijving
      TabBridgeClientWorker -eOpdracht om de Bridge-clientworker te starten. Als u de opdracht uitvoert zonder het argument -e, wordt de client als achtergrondservice uitgevoerd. Als u -e in de opdracht opneemt, wordt de client op de voorgrond uitgevoerd.
      --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.
      --poolId(Optioneel) Pool-ID die aan de client is toegewezen. Zie Een pool-ID gebruiken.

      Voorbeeld van een opdracht

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

Bij het met de opdracht TabBridgeClientWorker starten van de Bridge-worker, 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

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 /etc/profile-bestand bewerken of de worker opnieuw starten met behulp van

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

Bedankt voor uw feedback.De feedback is verzonden. Dank u wel.