Instalação do Bridge para Linux para contêineres

O Bridge para Linux fornece escalabilidade e recursos de gerenciamento simplificados de cargas de trabalho em contêineres. As instruções a seguir descrevem uma maneira leve de executar o Bridge for Linux e pressupõem que você tenha conhecimento básico do Docker e dos principais termos usados no ecossistema.

Instalação e execução do Bridge em um contêiner Docker

Para usar o Bridge no Linux, você deve criar uma imagem Docker personalizada, instalar o pacote RPM e, em seguida, executar o Bridge de dentro da imagem do contêiner.

  • As agendas herdadas do Bridge não são aceitas. Consulte Migrar do Bridge (herdado) para agendas do Online para obter mais informações.
  • Para se conectar ao SAP HANA usando conexões em tempo real, os parâmetros e as variáveis devem ser desabilitados.

Pré-requisitos

  • Mecanismo Docker instalado. Para a imagem base do contêiner docker, o Bridge no Linux é compatível com:
    • Amazon Linux 2
    • Amazon Linux 2023
    • Red Hat 8.3 e superior

      Observação: CentOS não é aceito.

  • O último pacote de RPM do Tableau Bridge na página Downloads(O link abre em nova janela) no site do Tableau.
  • Experiência com sistema operacional Linux.
  • Script de shell básico.
  • Experiência com Docker.
  • Token de acesso pessoal (PAT) do Administrador de site do Tableau. Recomendamos usar um token PAT por cliente Bridge.

Etapa 1: criar uma imagem de contêiner do Bridge

As etapas a seguir são as instruções básicas para construir uma imagem base do Bridge no Linux. Para obter mais informações, consulte Visão geral do docker.

Quando o Docker é instalado, o único usuário com permissão para executar comandos é root. Você pode executar comandos do Docker com sudo ou por um usuário que seja membro do grupo docker.

  1. Baixe o pacote do Bridge .rpm na página Downloads(O link abre em nova janela) do site do Tableau.
  2. (Opcional) Você pode editar as definições de configuração para alterar a forma como o cliente será executado. Consulte Alterar as configurações do cliente Bridge para obter mais informações.
  3. Crie um diretório de trabalho e mova o pacote .rpm no diretório.

    cd ~

    $ mkdir Docker

    $ cd Docker

    $ mv <RPM_location>.rpm .

  4. Criar um arquivo Docker no diretório de trabalho. Por exemplo:

    $ touch Dockerfile

  5. Edite o arquivo Docker e adicione os comandos para executar yum update.

    Exemplo do Red Hat

    Para Red Hat 8:

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

    RUN yum -y update

  6. Edite o arquivo Docker e insira os comandos para copiar, instalar e remover o pacote RPM da ponte da imagem. Por exemplo:

    COPY <your_bridge_rpm>.rpm /<path_of_container>

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

  7. Crie uma nova imagem de contêiner usando o comando de build docker.

    Por exemplo, o comando a seguir cria uma imagem no diretório atual, marcando-a com a palavra ​"bridge_base":

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

  8. Verifique se a imagem base que você criou é exibida na lista de imagens:

    docker images | grep bridge

Etapa 2: instalar drivers

O cliente Bridge requer drivers para facilitar a conectividade entre os dados da rede privada e o Tableau Cloud. Para drivers, acesse Baixar driver, selecione a fonte de dados e selecione Linux para o sistema operacional.

  1. A instalação pode ser feita interativamente após o lançamento da imagem base, ou Dockerfiles separados podem ser gravados como uma camada sobre a imagem base.

    Exemplo

    Com o RPM do driver MySQL copiado para o diretório, você pode criar um diretório de trabalho separado para colocar os drivers MySQL em camadas usando o seguinte Dockerfile:

    # 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

    Exemplo

    Instale um driver JDBC postgres. Isso também pode ser feito em um Dockerfile separado.

    # Using previously built bridge_base image

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

    Exemplo

    Instale o driver 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. Criar uma nova imagem:
  3. docker image build -t bridge_final .

    A imagem bridge_final usa a imagem em cache da etapa anterior e automatiza a instalação do driver para todas as suas instâncias do Bridge. Se você tiver um repositório de imagens, poderá publicar a imagem no repositório e distribuí-la para todas as máquinas nas quais deseja executar o Bridge.

Etapa 3: execute a contêiner do Bridge

Agora que você construiu uma imagem base, pode implantá-la usando vários métodos. As etapas básicas são:

  1. Inicie a instância do contêiner Bridge.
  2. Faça login e inicie o trabalhador.
  3. Atribua o agente a um pool.

Observação: o Bridge para Linux não oferece suporte a Bridge (programações herdadas). Consulte Migrar do Bridge (herdado) para agendas do Online para obter mais informações.

  1. Antes de começar a implantar o contêiner, crie um Token de acesso pessoal (PAT). O PAT é necessário para efetuar login no agente. O Tableau Cloud oferece suporte a 104 PATs por usuário. Recomendamos usar um token PAT por cliente.

    Observação: os seguintes nomes de token devem corresponder: O patTokenId (usado ao executar o comando run-bridge.sh), o nome do token no arquivo JSON e o nome do token ao gerar o PAT no Tableau Cloud.

  2. Defina a localidade no Docker usando ENV LC_ALL en_US.UTF-8. Você também pode definir a localidade adicionando o seguinte arquivo /etc/profile:
  3. export LANG="en_US.utf8"

    export LANGUAGE="en_US.utf8"

    export LC_ALL="en_US.utf8"

  4. Inicie uma instância do contêiner Bridge. Há muitas maneiras de configurar e iniciar a imagem do contêiner. O método interativo a seguir ilustra as etapas necessárias para iniciar o trabalhador. Quando você sai, o contêiner para de funcionar.
    1. Use o método a seguir para ir para o prompt do shell do contêiner como root. O restante dos comandos são executados no contexto desta sessão interativa do contêiner.

      docker container run -it bridge_final /bin/bash

    2. Adicione o token PAT a um arquivo simples no formato JSON. Por exemplo:

      /home/jSmith/Documents/MyTokenFile.txt

    3. Sintaxe de token de exemplo:

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

    4. Altere as permissões do arquivo para restringir o acesso ao usuário atual. Por exemplo:

      chmod 600 MyTokenFile.txt

    5. Inicie o trabalhador com o comando run-bridge.sh e forneça as seguintes opções de comando:

      ComandoDescrição
      --patTokenIdA ID do PAT. Consulte Tokens de acesso pessoal para obter maiores informações.
      --userEmailE-mail do usuário associado ao PAT.
      --clientO nome que você deseja dar ao trabalhador.
      --siteO nome do local conforme ele aparece no URI. Não inclua o caminho do URI.
      --patTokenFileNome do arquivo e caminho para o arquivo de texto PAT.
      -e(Opcional) Por padrão, o trabalhador do cliente Bridge é executado como um serviço em segundo plano. Para executar o trabalhador em primeiro plano, inclua o argumento -e.
      --poolId(Opcional) ID do pool atribuída ao cliente. Consulte Uso de ID do pool.

      Exemplo de comando

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

      Observação: se você estiver instalando versões mais antigas do Bridge para Linux, será necessário executar um comando diferente para iniciar o trabalhador. Para versões 2024.2 e anteriores, inicie o trabalhador com o comando TabBridgeClientWorker (não o comando run-bridge.sh. Todas as opções de comando são as mesmas.

  5. A mensagem a seguir indica que o agente foi iniciado. “Service started: ...”

    Use Control-C para parar o trabalhador. Em vez de reiniciar o trabalhador, você pode iniciar um novo trabalho para a imagem do contêiner.

    Se você não atribuiu um pool usando a opção de comando --poolId, o cliente será designado ao pool padrão. Se quiser usar o cliente com domínios ou VConns específicos, você poderá atribuir o cliente a um pool nomeado usando a UI. O menu para isso é Página inicial > Configurações > Bridge do Tableau Cloud. Para obter mais informações, consulte Configurar o pool de clientes do Bridge

Uso de ID do pool

Ao iniciar o trabalhador do Bridge com o comando run-bridge.sh, o poolId é opcional. No entanto, o comportamento do cliente depende se o cliente está registrado em um site e se está atribuído a um pool. O Tableau Bridge só pode se conectar ou registrar-se em um site do Tableau Cloud por vez. O cliente é registrado em um site quando você faz logoff e login novamente.

Se uma ID de pool não for fornecida

  • Se o cliente Bridge tiver sido registrado, o status do cliente permanecerá o mesmo:
    • Se o cliente for atribuído a um pool, ele permanecerá atribuído ao pool, independentemente de ser um pool nomeado ou um pool padrão.
    • Se o cliente não estiver atribuído a um pool, ele permanecerá sem atribuição.
  • Se o cliente Bridge for novo (você nunca fez logon no Tableau Cloud), o cliente será atribuído ao pool padrão.

Se uma ID de pool for fornecida

  • Se a ID do pool for fornecida e estiver correta, o cliente Bridge será atribuído ao pool nomeado.
  • Se a ID do pool for fornecida e estiver incorreta:
    • Se o cliente Bridge não estiver registrado, o cliente será atribuído ao pool padrão.
    • Se o cliente Bridge estiver registrado, o status do cliente permanecerá o mesmo, independentemente do pool nomeado, pool padrão ou não atribuído.

Localização da ID do pool

Para encontrar a ID do pool, vá para a página Configurações > Bridge e clique no nome do pool. Por exemplo:

Atualizar o Bridge para cliente Linux

Manter-se sincronizado com a versão mais recente do Bridge garante que você aproveite os recursos e as correções mais recentes incluídos em cada nova versão do cliente do Bridge.

  1. Instale e configure o novo cliente do Tableau Bridge conforme documentado nas seções acima.

  2. Adicione o novo cliente do Bridge ao pool relevante. Consulte Configurar o pool de clientes do Bridge.

  3. Monitore a integridade dos trabalhos do Bridge para validar a estabilidade antes de prosseguir para a próxima etapa.

  4. Remova o cliente do Bridge anterior do pool. Abra o pool, identifique a máquina cliente a ser removida e clique em Excluir.

  5. Aguarde o término do processo de tempo limite de atualização da extração no cliente do Bridge. O tempo limite padrão é 24 horas. Para obter mais informações, consulte dataSourceRefreshSettings.

  6. Após o período de tempo limite de atualização ter decorrido, você pode remover a instância anterior do cliente do Bridge.

Solução de problemas

Instalação de versões mais antigas

Se você estiver instalando versões mais antigas do Bridge para Linux, será necessário executar um comando diferente para iniciar o trabalhador. Para versões 2024.2 e anteriores, inicie o trabalhador com o comando TabBridgeClientWorker (não o comando run-bridge.sh).

Todas as opções de comando são as mesmas documentadas acima em Etapa 3: execute a contêiner do Bridge.

Por exemplo: 

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

Erro de inicialização do trabalhador

Em alguns casos, o seguinte erro será exibido após a execução do comando run-bridge.sh:

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

Na maioria dos casos, executar novamente o comando com as opções originais e a opção -e corrige o problema. A opção -e executa o serviço do trabalhador Bridge Worker em primeiro plano.

Trabalhar com arquivos de log

Os arquivos de registro são armazenados na pasta do usuário My_Tableau_Bridge_Repository/Logs. Para salvar os registros na pasta tmp , execute o comando a seguir:

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

Neste exemplo, o local é especificado por /tmp/bridge_logs. Usar o comando docker simplifica o salvamento dos arquivos de registro e evita a necessidade de copiar manualmente os arquivos de registro do Bridge do contêiner para o sistema de arquivos local.

Falha do driver MySQL

Se LC_MESSAGES não está definido com as localidades UTF-8, você poderá enfrentar problemas de leitura e exibição. Você pode editar o arquivo /etc/profile ou reiniciar o trabalhador usando o seguinte comando:

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

O Bridge Client para inesperadamente devido à expiração do Token de Acesso Pessoal

Quando um Token de Acesso Pessoal (PAT) expira, o Bridge Client é desconectado do Tableau Cloud e pode causar o desligamento do contêiner. No Bridge Client, você pode validar se seu PAT expirou executando o comando Start em primeiro plano. Se o PAT expirou, você verá o seguinte erro:

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

Se você for o proprietário original do PAT, também poderá verificar se o PAT expirou acessando Gerenciar configurações da conta no Tableau Cloud. Para resolver o problema, você precisará gerar um novo PAT e seguir os passos acima, Etapa 3: execute a contêiner do Bridge.

Erros de tempo limite de extração inserida e conexão ativa inserida

A versão 24.3 do Bridge no Linux forneceu melhorias significativas de desempenho para extrações inseridas e conexões ativas inseridas. Se você tiver erros de tempo limite em versões anteriores, recomendamos atualizar para uma versão 24.3 do Bridge no Linux. Se isso não resolver o problema, publique a fonte de dados separadamente da pasta de trabalho.