Instalação hospedada pelo cliente do software de renderização

O Looker exige um software de renderização chamado Chromium para enviar ou fazer o download de dados em formatos de imagem (HTML e PNG ou arquivos PDF) e usar recursos como Tamanho do papel e Expandir tabelas. Nesta página, explicamos como instalar o software de renderização em uma instância hospedada pelo cliente do Looker.

O Chromium já está instalado para instâncias hospedadas pelo Looker.

A renderização do Chromium aguarda a conclusão de todos os recursos solicitados pela página antes de enviar o sinal "finished" que solicita ao Looker produzir o conteúdo renderizado. Devido ao número e à frequência dessas solicitações de recursos, algumas redes podem sinalizar falsamente as solicitações como maliciosas, fazendo com que elas sejam descartadas, o que atrasa os jobs renderizados.

O Chromium Project é um projeto de código aberto iniciado pelo Google para compartilhar as partes não reservadas do Google Chrome.

Requisitos e pré-requisitos de instalação do Chromium

O Looker oferece suporte a versões de lançamento de todas as principais distribuições Linux da empresa, incluindo Ubuntu, Debian, RedHat, CentOS e Amazon Linux. Esta página fornece instruções para instalar o Chromium no Ubuntu, no Debian e no RedHat/CentOS/Amazon Linux.

O Chromium precisa ser instalado em um caminho executável na máquina que hospeda a instância do Looker. O aplicativo Looker precisa acessar o Chromium usando o comando chromium ou um caminho personalizado definido com a variável de ambiente CHROMIUM_PATH.

Para executar o Chromium em uma instância do Looker, o Chromium 86 ou uma versão mais recente é obrigatório, mas o Looker recomenda o uso da versão mais recente disponível. Se a instância do Looker estiver instalada no Debian, o Chromium exigirá o Debian 9 (Stretch) ou posterior.

Se você estiver instalando o Chromium em uma instalação em cluster do Looker, a versão do Chromium em cada nó precisará ser totalmente idêntica. Mesmo pequenas diferenças, como diferentes números de builds, podem interferir nos recursos de renderização do Looker.

Se os dados contêm caracteres que não são em inglês, instale o pacote Google Noto Fonts, além do Chromium.

Este pacote de fontes tem vários GB.

Para instalar este pacote de fontes, execute os seguintes comandos na linha de comando:

  mkdir -p /tmp/fonts
  cd /tmp/fonts
  curl -O https://noto-website-2.storage.googleapis.com/pkgs/Noto-unhinted.zip
  unzip Noto-unhinted.zip
  mkdir -p /usr/share/fonts/opentype/noto
  cp *.otf *.otc /usr/share/fonts/opentype/noto
  mkdir -p /usr/share/fonts/truetype/noto
  cp *.ttf /usr/share/fonts/truetype/noto
  chmod a+r -R /usr/share/fonts/*/noto
  fc-cache -f -v

Em caso de sucesso, faça o seguinte:

  cd $HOME
  rm -rf /tmp/fonts

Como instalar o Chromium no Ubuntu

O aplicativo Looker precisa acessar o Chromium usando o comando chromium ou um caminho personalizado definido com a variável de ambiente CHROMIUM_PATH. Para instalações do Ubuntu, é necessário instalar o navegador da Web Chromium e definir um alias para que o aplicativo Looker possa encontrar a instalação.

O Looker recomenda usar o comando sudo ao realizar qualquer etapa que exija permissões elevadas. Não instale o Chromium quando fizer login como usuário raiz. Se você instalar o Chromium enquanto estiver conectado como usuário raiz, o Looker pode não conseguir executar a renderização de PDF ou PNG.

  1. É necessário instalar fontes no sistema para que o Chromium seja iniciado. É possível instalar fontes usando a interface de linha de comando. Por exemplo, este comando instala as fontes padrão no Ubuntu 16.04 LTS:
    apt-get install fonts-freefont-otf
  1. Para instalar o Chromium, execute:
    apt-get update && apt-get install -y chromium-browser
  1. É necessário adicionar o alias chromium-browser como chromium ou exportar a variável de ambiente CHROMIUM_PATH. Para adicionar o alias chromium-browser como chromium, coloque o seguinte no arquivo ~/.bashrc:
    alias chromium='chromium-browser'
To make this alias known to Looker, run this command on the command line:
    sudo ln -s /usr/bin/chromium-browser /usr/bin/chromium
  1. Depois de definir qualquer uma das variáveis de ambiente opcionais, reinicie o aplicativo Looker para que elas entrem em vigor. Pode ser necessário reiniciar as sessões do terminal aberto ou executar source ~/.bash_profile para que o terminal leia a nova configuração.

Depois de instalar o Chromium, você receberá uma resposta válida de chromium --version se não tiver definido a variável de ambiente CHROMIUM_PATH ou se $CHROMIUM_PATH --version tiver definido a variável de ambiente CHROMIUM_PATH.

Como instalar o Chromium no Debian

O Looker recomenda usar o comando sudo ao realizar qualquer etapa que exija permissões elevadas. Não instale o Chromium quando fizer login como usuário raiz. Se você instalar o Chromium enquanto estiver conectado como usuário raiz, o Looker pode não conseguir executar a renderização de PDF ou PNG.

O Chromium exige o Debian 9 (Stretch) ou mais recente.

Se a instância do Looker usa o Docker com uma instalação básica do Debian, instale o procps e verifique se você não está executando como raiz.

  1. É necessário instalar fontes no sistema para que o Chromium seja iniciado. É possível instalar fontes usando a interface de linha de comando executando:
    apt-get install fonts-freefont-otf
  1. Para instalar o Chromium, execute:
    apt-get update && apt-get install -y chromium
  1. Depois de definir qualquer uma das variáveis de ambiente opcionais, reinicie o aplicativo Looker para que elas entrem em vigor. Pode ser necessário reiniciar as sessões do terminal aberto ou executar source ~/.bash_profile para que o terminal leia a nova configuração.

Depois de instalar o Chromium, você receberá uma resposta válida de chromium --version se não tiver definido a variável de ambiente CHROMIUM_PATH ou se $CHROMIUM_PATH --version tiver definido a variável de ambiente CHROMIUM_PATH.

Variáveis opcionais de ambiente do Chromium

  • CHROMIUM_PATH: caminho para o binário do Chromium. O padrão é chromium.

  • CHROMIUM_PID_DIR: caminho para onde a biblioteca pode armazenar arquivos PID do Chromium. O padrão é chromium_pid_files no diretório de trabalho do aplicativo Looker.

  • CHROMIUM_PORT_RANGE_START & CHROMIUM_PORT_RANGE_END: o aplicativo Chromium precisa de uma variedade de portas para se comunicar entre processos na máquina local. O intervalo padrão é 40.000-40.500, mas é possível substituir esse padrão definindo essas duas variáveis de ambiente. As portas não utilizadas são selecionadas aleatoriamente do intervalo e usadas somente durante a renderização de uma única renderização.

  • DISABLE_EXTERNAL_RENDER_ACCESS: os administradores de instâncias ou servidores do Looker hospedados pelo cliente que não têm acesso externo ou bloqueado à Internet precisam definir DISABLE_EXTERNAL_RENDER_ACCESS=true. Normalmente, o renderizador do Chromium aguarda todos os recursos solicitados pela página serem concluídos antes de enviar o sinal "finished" que solicita ao Looker produzir o conteúdo. Algumas destas solicitações podem ser descartadas devido à falta de conexão, o que resulta em tempos limite ou tempos de renderização muito longos. A definição dessa variável de ambiente como true impede que o renderizador espere todas as solicitações serem concluídas. Algumas visualizações de mapa e outras personalizadas que são instaladas pelo Looker Marketplace podem exigir acesso à Internet.