Installera Bridge för Linux för behållare

Bridge för Linux tillhandahåller skalbarhet och effektiviserade hanteringsmöjligheter för behållarbaserade arbetsbelastningar. I följande instruktioner beskrivs ett enkelt sätt att köra Bridge för Linux och vi förutsätter att du har grundläggande kunskaper om Docker och nyckeltermerna som används i systemet.

Installera och köra Bridge från en Docker-behållare

Om du vill använda Bridge på Linux måste du skapa en anpassad Docker-avbildning, installera RPM-paketet och sedan köra Bridge inifrån behållaravbildningen.

Förutsättningar

  • Docker Engine installerat. För Docker-behållarens basavbildning stöds Bridge på Linux för:
    • Amazon Linux 2
    • Red Hat 7.3.x och senare, 8.3 och senare
    • CentOS 7

      Obs! Stödet för CentOS 7 distro kommer att upphöra med lanseringen av 2024.3.

  • Tableau Bridge RPM-paketet.
  • Upplevelse med operativsystemet Linux.
  • Grundläggande skalskript och Docker-upplevelse.
  • Personlig åtkomsttoken för Tableau-platsadministratör. Tableau rekommenderar att du använder en personlig åtkomsttoken per klient.

Steg 1: Skapa en Bridge-behållaravbildning

Följande steg är de grundläggande instruktionerna för att bygga en Bridge på Linux-basavbildning. Mer information finns i Docker-översikt (på engelska).

När Docker är installerat är root den enda användaren med behörighet att köra kommandon. Du kan köra Docker-kommandon med sudo eller via en användare som är medlem i Docker-gruppen.

  1. Ladda ner Bridge.rpm-paketet från sidan Nedladdningar(Länken öppnas i ett nytt fönster) på Tableaus webbplats.
  2. (Valfritt) Du kan redigera konfigurationsinställningarna för att ändra hur klienten ska köras. Mer information finns i Ändra Bridge-klientinställningar.
  3. Skapa en arbetskatalog och flytta .rpm-paketet till katalogen.

    cd ~

    $ mkdir Docker

    $ cd Docker

    $ mv <RPM_location>.rpm .

  4. Skapa en Docker-fil i arbetskatalogen. Till exempel:

    $ touch Dockerfile

  5. Redigera Docker-filen och lägg till kommandon för att köra yum update.

    Red Hat-exempel

    För Red Hat 8:

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

    RUN yum -y update

    För Red Hat 7:

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

    RUN yum -y update

    Centos-exempel

    För Centos 7:

    Händelsen <code>hist_update_system_user_reset_login_rate_limiting</code> loggar ett anrop som återställer gränserna för inloggningsfrekvens

    Händelsen <code>hist_update_system_user_reset_login_rate_limiting</code> loggar ett anrop som återställer gränserna för inloggningsfrekvens

  6. Redigera Docker-filen och lägg till kommandon för att kopiera Bridge RPM-paketet, installera det och ta sedan bort det från bilden

    Händelsen <code>hist_update_system_user_reset_login_rate_limiting</code> loggar ett anrop som återställer gränserna för inloggningsfrekvens

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

  7. Bygg en ny behållaravbildning med kommandot docker build. Följande kommando bygger en avbildning i den aktuella katalogen och taggar den med ordet ​"bridge_base".

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

  8. Kontrollera att basavbildningen som du skapade visas i listan över avbildningar.

    docker images | grep bridge

Steg 2: Installera drivrutinerna

Bridge-klienten kräver drivrutiner för att underlätta anslutning mellan privata nätverksdata och Tableau Cloud. Om du behöver hämta drivrutiner går du till sidan för nedladdning av drivrutiner, väljer datakälla och väljer sedan Linux som operativsystem.

  1. Installationen kan göras interaktivt efter att basavbildningen har släppts eller så kan separata Docker-filer skrivas som ett lager ovanpå basavbildningen.

    Exempel

    Med MySQL-drivrutinen RPM kopierad till katalogen kan du skapa en separat arbetskatalog för att lagra MySQL-drivrutiner med hjälp av följande Docker-fil:

    # 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

    Exempel

    Installera en Postgres JDBC-drivrutin. Du kan även göra det i en separat Docker-fil.

    # Using previously built bridge_base image

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

    Exempel

    Installera Amazon Redshift-drivrutinen.

    # 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. Skapa en ny avbildning:
  3. docker image build -t bridge_final .

    bridge_final-avbildningen använder cache-avbildningen från föregående steg och automatiserar drivrutinsinstallationen för alla dina Bridge-instanser. Om du har en lagringsplats för avbildningar kan du publicera avbildningen på lagringsplatsen och distribuera avbildningen till alla datorer som du vill köra Bridge på.

Steg 3: Kör Bridge-behållaren

Nu när du har byggt en basavbildning kan du driftsätta den på flera olika sätt. Grundläggande steg:

  1. Starta Bridge-behållarinstansen.
  2. Logga in och starta arbetsdatorn.
  3. Tilldela agenten till en pool.

Obs! Bridge för Linux har inte stöd för Bridge-scheman (äldre). Mer information finns i Migrera från Bridge-scheman (äldre) till onlinescheman.

  1. Skapa en personlig åtkomsttoken innan du börjar driftsätta behållaren. Den personliga åtkomsttoken krävs för att logga in på agenten. Tableau Cloud har stöd för 104 personliga åtkomsttoken per användare. Tableau rekommenderar att du använder en personlig åtkomsttoken per klient.

    Obs! Följande tokennamn måste stämma överens: patTokenId (används när du kör kommandot TabBridgeClientWorker), tokennamnet i JSON-filen och tokennamnet när den personliga åtkomsttoken genereras i Tableau Cloud.

  2. Ställ in språkzonen i Docker med ENV LC_ALL en_US.UTF-8. Du kan också ställa in språkzonen genom att lägga till följande i filen /etc/profile.
  3. export LANG="en_US.utf8"

    export LANGUAGE="en_US.utf8"

    export LC_ALL="en_US.utf8"

  4. Starta en Bridge-behållarinstans. Det finns många olika sätt att ställa in och starta behållaravbildningen. I följande interaktiva metod illustreras de steg som krävs för att starta arbetsdatorn. Behållaren slutar att köras när du avslutar.
    1. Använd följande metod för att flytta till kommandotolken för behållaren som root. Resten av kommandona körs inom den interaktiva behållarsessionen.

      docker container run -it bridge_final /bin/bash

    2. Lägg till den personliga åtkomsttoken i en platt fil i JSON-format. Till exempel:

      /home/jSmith/Documents/MyTokenFile.txt

    3. Exempel på tokensyntax:

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

    4. Ändra filbehörigheterna för att begränsa åtkomsten till den aktuella användaren. Till exempel:

      chmod 600 MyTokenFile.txt

    5. Starta arbetsdatorn med TabBridgeClientWorker-kommandot och ange följande kommandoalternativ:

      KommandoBeskrivning
      --patTokenIdID för den personliga åtkomsttoken. Mer information finns i Personliga åtkomsttoken.
      --userEmailAnvändarens e-postadress kopplad till den personliga åtkomsttoken.
      --clientNamnet som du vill ge systemet.
      --sitePlatsnamnet som det visas i URI:en. Inkludera inte URI-sökvägen.
      --patTokenFileFilnamn och sökväg till textfilen för den personliga åtkomsttoken.
      -e(Valfritt) Som standard körs Bridge-klienten som en bakgrundstjänst. För att köra klienten i förgrunden ska du inkludera argumentet -e.
      --poolId(Valfritt) Pool-ID:t som är tilldelat till klienten. Läs mer i Använda ett pool-ID.

      Exempel på kommando:

      /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. Följande meddelande indikerar att agenten har startat: “Service started: ...”

    Använd Control-C för att stoppa systemet. Istället för att starta om systemet kan du starta ett nytt system för behållaravbildningen.

    Om du inte tilldelade en pool med kommandoalternativet --poolId tilldelas klienten till standardpoolen. Om du vill använda klienten med specifika domäner eller VConns kan du tilldela klienten till en namngiven pool med hjälp av användargränssnittet. Du hittar menyn för detta under Start > Inställningar > Bridge i Tableau Cloud. Mer information finns i Konfigurera Bridge-klientpoolen.

Använda ett pool-ID

När du startar Bridge-klienten med kommandot TabBridgeClientWorker är poolId valfritt. Klientens beteende beror dock på om klienten är registrerad på en plats och om den tilldelats en pool. Tableau Bridge kan endast ansluta till eller registreras på en Tableau Cloud-plats i taget. Klienten registreras på en plats när du loggar ut och loggar in igen.

Om inget pool-ID anges

  • Om Bridge-klienten har registrerats förändras klientstatusen inte:
    • Om klienten tilldelats en pool fortsätter den att vara tilldelad samma pool, oavsett om det är en namngiven pool eller en standardpool.
    • Om klienten inte har tilldelats någon pool förblir den otilldelad.
  • Om Bridge-klienten är ny (du har aldrig loggat in på Tableau Cloud) tilldelas klienten standardpoolen.

Om ett pool-ID anges

  • Om pool-ID:t anges och är korrekt tilldelas Bridge-klienten den namngivna poolen.
  • Om pool-ID:t anges och är felaktigt:
    • Om Bridge-klienten inte har registrerats tilldelas klienten standardpoolen.
    • Om Bridge-klienten har registrerats förändras klientstatusen inte, vare sig det är en namngiven pool, en standardpool eller ingen tilldelad pool.

Hitta pool-ID:t

Du hittar pool-ID:t genom att gå till sidan Inställningar > Bridge och klicka på poolens namn. Exempel:

Felsökning

Fel vid start av arbetsdatorn

I vissa fall visas följande fel efter att kommandot TabBridgeClientWorker körts:

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

I de flesta fall åtgärdas problemet om du kör kommandot igen med de ursprungliga alternativen och alternativet -e. Alternativet -e kör Bridge-klienten i förgrunden.

Arbeta med loggfiler

Loggfiler lagras i användarens My_Tableau_Bridge_Repository/Logs-mapp. Kör följande kommando för att spara loggar i en tmp -mapp:

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

I det här exemplet anges platsen av /tmp/bridge_logs. När du använder Docker-kommandot förenklas lagringen av loggfilerna, och du behöver inte heller kopiera Bridge-loggfilerna från behållaren till ditt lokala filsystem manuellt.

MySQL-drivrutinen misslyckas

Om LC_MESSAGES inte är inställda på UTF-8 kan du uppleva läs- och visningsproblem. Du kan redigera /etc/profile-filen eller starta om systemet med hjälp av följande kommando:

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

Bridge-klienten stannar oväntat till följd av att en personlig åtkomsttoken har upphört att gälla

När en personlig åtkomsttoken upphör att gälla resulterar det i att Bridge-klienten kopplas bort från Tableau Cloud, vilket kan göra att behållaren stängs av. Du kan validera om din personliga åtkomsttoken har upphört att gälla från Bridge-klienten genom att köra startkommandot i förgrunden. Om den personliga åtkomsttoken har upphört att gälla visas följande fel:

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

Om du är den ursprungliga ägaren till den personliga åtkomsttoken kan du även verifiera om din personliga åtkomsttoken har upphört att gälla genom att gå till Hantera kontoinställningar i Tableau Cloud. Du måste skapa en ny personlig åtkomsttoken och följa stegen ovan för att lösa problemet (Steg 3: Kör Bridge-behållaren).

Tack för din feedback!Din feedback har skickats in. Tack!