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
    • Red Hat 7.3.x e posterior, 8.3 e posterior
    • CentOS 7

      Observação: o suporte para a distribuição CentOS 7 terminará com o lançamento de 2024.3.

  • Pacote RPM do Tableau Bridge.
  • Experiência com sistema operacional Linux.
  • Script básico de shell e experiência em Docker.
  • Token de acesso pessoal (PAT) do Administrador de site do Tableau. O Tableau recomenda usar um token PAT por cliente.

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

    Para Red Hat 7:

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

    RUN yum -y update

    Exemplo do Centos

    Para Centos 7:

    FROM centos:7

    RUN yum -y update

  6. Edite o arquivo Docker e adicione os comandos para copiar o pacote RPM da ponte, instale-o e remova-o da imagem

    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 docker build. 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. O Tableau recomenda usar um token PAT por cliente.

    Observação: os seguintes nomes de token devem corresponder: O patTokenId (usado ao executar o comando TabBridgeClientWorker), 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 TabBridgeClientWorker 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/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. 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 Bridge Worker com o comando TabBridgeClientWorker , 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:

Solução de problemas

Erro de inicialização do trabalhador

Em alguns casos, o seguinte erro será exibido após a execução do comando TabBridgeClientWorker:

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 computador de trabalho usando o seguinte

LC_ALL=en_US.UTF-8 /opt/tableau/tableau_bridge/bin/TabBridgeClientWorker -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.

Agradecemos seu feedback!Seu feedback foi enviado. Obrigado!