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:
  • Tableau Bridge RPM-paketet.
  • Upplevelse med operativsystemet Linux.
  • Grundläggande skalskript och Docker-upplevelse.
  • Personlig åtkomsttoken (PAT) för Tableau-platsadministratör.

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 (PAT) innan du börjar driftsätta behållaren. Den personliga åtkomsttoken krävs för att logga in på agenten.

    Följande tokennamn måste stämma överens: patTokenId (används när du kör TabBridgeClientWorker-kommandot), tokennamnet i JSON-filen och tokennamnet när PAT 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
      TabBridgeClientWorker -eKommando för att starta Bridge-klienten. Argumentet -e krävs och kör kommandot i förgrunden. Bakgrundsläget stöds inte just nu.
      --patTokenIdID för den personliga åtkomsttoken. Mer information finns i Personliga åtkomsttoken.
      --userEmailAnvändarens e-postadress kopplad till PAT.
      --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 PAT-textfilen.
      --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

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

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