Installation de logiciel de rendu hébergée par le client

Looker a besoin d'un logiciel de rendu appelé Chromium pour envoyer ou télécharger des données dans des formats image (fichiers HTML, PNG ou PDF) et pour utiliser des fonctionnalités telles que le format de papier et les tableaux développés. Cette page explique comment installer un logiciel de rendu sur une instance Looker hébergée par un client.

Chromium est déjà installé pour les instances hébergées par Looker.

Le rendu Chromium attend que toutes les ressources demandées par la page soient terminées avant d'envoyer le signal "finished" (terminé), qui invite Looker à produire le contenu affiché. En raison du nombre et de la fréquence de ces requêtes de ressources, certains réseaux peuvent signaler à tort les requêtes comme malveillantes, ce qui entraîne leur abandon, ce qui retardera vos jobs de rendu.

Le projet Chromium est un projet Open Source lancé par Google pour partager les parties non propriétaires de Google Chrome.

Configuration requise pour l'installation de Chromium et prérequis

Looker est compatible avec les versions de toutes les principales distributions Linux pour les entreprises, y compris Ubuntu, Debian, RedHat, CentOS et Amazon Linux. Cette page fournit des instructions pour installer Chromium sous Ubuntu, Debian et RedHat/CentOS/Amazon Linux.

Chromium doit être installé dans un chemin exécutable sur la machine qui héberge l'instance Looker. L'application Looker doit accéder à Chromium à l'aide de la commande chromium ou d'un chemin d'accès personnalisé défini avec la variable d'environnement CHROMIUM_PATH.

Pour exécuter Chromium sur une instance Looker, vous devez disposer de Chromium 86 ou d'une version ultérieure, mais Looker recommande d'utiliser spécifiquement Chromium 97.x. Si votre instance Looker est installée sur Debian, Chromium nécessite Debian 9 (Stretch) ou version ultérieure.

Si vous installez Chromium sur une installation Looker en cluster, la version de Chromium doit être complètement identique sur chaque nœud. Même des différences mineures, telles que des numéros de build différents, peuvent interférer avec les fonctionnalités de rendu de Looker.

Si vos données contiennent des caractères qui ne sont pas en anglais, installez le package Google Noto Fonts (dont la taille est de plusieurs Go) en plus de Chromium. Pour installer ce package de polices, exécutez les commandes suivantes dans votre ligne de commande:

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   # Ignore any *.otc not found errors
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

Si l'opération réussit:

cd $HOME
rm -rf /tmp/fonts

Installer Chromium sur Ubuntu

L'application Looker doit accéder à Chromium à l'aide de la commande chromium ou d'un chemin d'accès personnalisé défini avec la variable d'environnement CHROMIUM_PATH. Pour les installations Ubuntu, vous devez installer le navigateur Web Chromium, puis définir un alias pour que l'application Looker puisse trouver l'installation.

Looker recommande d'utiliser la commande sudo lorsque vous effectuez des étapes nécessitant des autorisations élevées. N'installez pas Chromium lorsque vous êtes connecté en tant qu'utilisateur racine. Si vous installez Chromium en étant connecté en tant qu'utilisateur racine, Looker risque de ne pas pouvoir effectuer le rendu PDF ou PNG.

  1. Les polices doivent être installées sur le système pour que Chromium puisse démarrer. Vous pouvez installer des polices à l'aide de l'interface de ligne de commande. Par exemple, cette commande installe les polices par défaut sur Ubuntu 16.04 LTS:

    apt-get install fonts-freefont-otf
    
  2. Pour installer Chromium, exécutez la commande suivante:

    apt-get update && apt-get install -y chromium-browser
    
  3. Vous devez utiliser l'alias chromium-browser en tant que chromium ou exporter la variable d'environnement CHROMIUM_PATH. Pour créer un alias pour chromium-browser en tant que chromium, placez le code suivant dans le fichier ~/.bashrc:

    alias chromium='chromium-browser'
    

    Pour que Looker soit connu de cet alias, exécutez la commande suivante dans la ligne de commande:

    sudo ln -s /usr/bin/chromium-browser /usr/bin/chromium
    
  4. Après avoir défini l'une des variables d'environnement facultatives, redémarrez l'application Looker pour qu'elles soient prises en compte. Vous devrez peut-être également redémarrer toutes les sessions de terminal ouvertes ou exécuter source ~/.bash_profile pour que le terminal lise la nouvelle configuration.

Après avoir installé Chromium, vous devriez obtenir une réponse valide de chromium --version si vous n'avez pas défini la variable d'environnement CHROMIUM_PATH ou $CHROMIUM_PATH --version si vous avez défini la variable d'environnement CHROMIUM_PATH.

Installer Chromium sur Debian

Looker recommande d'utiliser la commande sudo lorsque vous effectuez des étapes nécessitant des autorisations élevées. N'installez pas Chromium lorsque vous êtes connecté en tant qu'utilisateur racine. Si vous installez Chromium en étant connecté en tant qu'utilisateur racine, Looker risque de ne pas pouvoir effectuer le rendu PDF ou PNG.

Chromium nécessite Debian 9 (Stretch) ou version ultérieure.

Si votre instance Looker utilise Docker avec une installation Debian simplifiée, installez procps et assurez-vous que vous n'êtes pas exécuté en mode root.

  1. Les polices doivent être installées sur le système pour que Chromium puisse démarrer. Vous pouvez installer des polices à l'aide de l'interface de ligne de commande en exécutant la commande suivante:

    apt-get install fonts-freefont-otf
    
  2. Pour installer Chromium, exécutez la commande suivante:

    apt-get update && apt-get install -y chromium
    
  3. Après avoir défini l'une des variables d'environnement facultatives, redémarrez l'application Looker pour qu'elles soient prises en compte. Vous devrez peut-être également redémarrer toutes les sessions de terminal ouvertes ou exécuter source ~/.bash_profile pour que le terminal lise la nouvelle configuration.

Après avoir installé Chromium, vous devriez obtenir une réponse valide de chromium --version si vous n'avez pas défini la variable d'environnement CHROMIUM_PATH ou $CHROMIUM_PATH --version si vous avez défini la variable d'environnement CHROMIUM_PATH.

Variables d'environnement Chromium facultatives

  • CHROMIUM_PATH: chemin d'accès au binaire Chromium, défini par défaut sur chromium.

  • CHROMIUM_PID_DIR: chemin d'accès à l'emplacement où la bibliothèque peut stocker les fichiers PID Chromium. La valeur par défaut est chromium_pid_files dans le répertoire de travail de l'application Looker.

  • CHROMIUM_PORT_RANGE_START et CHROMIUM_PORT_RANGE_END: l'application Chromium a besoin d'une plage de ports pour communiquer entre les processus sur la machine locale. La plage par défaut est comprise entre 40 000 et 40 500, mais vous pouvez la remplacer en définissant ces deux variables d'environnement. Les ports inutilisés sont sélectionnés de manière aléatoire dans la plage et ne sont utilisés que pendant la durée d'un seul rendu.

  • DISABLE_EXTERNAL_RENDER_ACCESS: les administrateurs d'instances ou de serveurs Looker hébergés par le client qui n'ont pas d'accès Internet externe ou bloqué doivent définir DISABLE_EXTERNAL_RENDER_ACCESS=true. En règle générale, le moteur de rendu Chromium attend que toutes les ressources demandées par la page soient terminées avant d'envoyer le signal "terminé" qui invite Looker à produire le contenu. Certaines de ces requêtes peuvent être abandonnées en raison d'un manque de connexion, ce qui entraîne des délais avant expiration ou des délais d'affichage très longs. Définir cette variable d'environnement sur true empêche le moteur de rendu d'attendre la fin de toutes les requêtes. Certaines visualisations de carte et certaines visualisations personnalisées installées à partir de Marketplace Looker peuvent nécessiter un accès à Internet.