Vom Kunden gehostete Installation der Rendering-Software

Looker benötigt eine Rendering-Software namens Chromium, um Daten in bildbasierten Formaten (HTML-, PNG- oder PDF-Dateien) zu senden oder herunterzuladen und Funktionen wie Papierformat und Tabellen erweitern zu verwenden. Auf dieser Seite wird erläutert, wie Sie Rendering-Software auf einer vom Kunden gehosteten Instanz von Looker installieren.

Chromium ist bereits für von Looker gehostete Instanzen installiert.

Das Chromium-Rendering wartet, bis alle von der Seite angeforderten Ressourcen abgeschlossen sind, bevor das Signal „Abgeschlossen“ gesendet wird, das Looker auffordert, den gerenderten Inhalt zu erstellen. Aufgrund der Anzahl und Häufigkeit dieser Ressourcenanfragen können einige Netzwerke die Anfragen fälschlicherweise als schädlich kennzeichnen, wodurch sie gelöscht werden. Dadurch verzögert sich das Rendering der Jobs.

Das Chromium-Projekt ist ein Open-Source-Projekt, das von Google ins Leben gerufen wurde, um nicht proprietäre Teile von Google Chrome bereitzustellen.

Installationsanforderungen und Voraussetzungen für Chromium

Looker unterstützt Release-Versionen aller wichtigen Enterprise-Linux-Distributionen, einschließlich Ubuntu, Debian, RedHat, CentOS und Amazon Linux. Auf dieser Seite finden Sie eine Anleitung zur Installation von Chromium unter Ubuntu, Debian und RedHat/CentOS/Amazon Linux.

Chromium muss in einem ausführbaren Pfad auf dem Computer installiert werden, auf dem die Looker-Instanz gehostet wird. Die Looker-Anwendung muss mit dem Befehl chromium oder über einen benutzerdefinierten Pfad, der mit der Umgebungsvariablen CHROMIUM_PATH festgelegt wird, auf Chromium zugreifen.

Zum Ausführen von Chromium auf einer Looker-Instanz ist Chromium 86 oder höher erforderlich. Looker empfiehlt jedoch insbesondere Chromium 97.x zu verwenden. Wenn Ihre Looker-Instanz unter Debian installiert ist, benötigt Chromium Debian 9 (Stretch) oder höher.

Wenn Sie Chromium in einer Looker-Clusterinstallation installieren, muss die Chromium-Version auf jedem Knoten vollständig identisch sein. Selbst geringfügige Unterschiede, wie unterschiedliche Build-Nummern, können die Rendering-Funktionen von Looker beeinträchtigen.

Wenn Ihre Daten nicht englische Zeichen enthalten, installieren Sie zusätzlich zu Chromium das Google Noto Fonts-Paket (mehrere GB). Führen Sie zur Installation dieses Schriftartpakets folgende Befehle in der Befehlszeile aus:

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

Wenn der Vorgang erfolgreich ist, gehe so vor:

cd $HOME
rm -rf /tmp/fonts

Chromium unter Ubuntu installieren

Die Looker-Anwendung muss mit dem Befehl chromium oder über einen benutzerdefinierten Pfad, der mit der Umgebungsvariable CHROMIUM_PATH festgelegt ist, auf Chromium zugreifen. Bei Ubuntu-Installationen müssen Sie den Chromium-Webbrowser installieren und dann einen Alias festlegen, damit die Looker-Anwendung die Installation findet.

Looker empfiehlt, den Befehl sudo zu verwenden, wenn Sie Schritte ausführen, die erhöhte Berechtigungen erfordern. Installieren Sie Chromium nicht, wenn Sie als Root-Nutzer angemeldet sind. Wenn Sie Chromium installieren, während Sie als Root-Nutzer angemeldet sind, kann Looker möglicherweise kein PDF- oder PNG-Rendering ausführen.

  1. Damit Chromium gestartet werden kann, müssen Schriftarten auf dem System installiert sein. Sie können Schriftarten über die Befehlszeile installieren. Mit diesem Befehl werden beispielsweise die Standardschriftarten unter Ubuntu 16.04 LTS installiert:

    apt-get install fonts-freefont-otf
    
  2. Führen Sie folgenden Befehl aus, um Chromium zu installieren:

    apt-get update && apt-get install -y chromium-browser
    
  3. Als Alias für chromium-browser muss chromium verwendet oder die Umgebungsvariable CHROMIUM_PATH exportiert werden. Um chromium-browser als Alias von chromium zu übernehmen, fügen Sie Folgendes in die Datei ~/.bashrc ein:

    alias chromium='chromium-browser'
    

    Um Looker diesen Alias bekannt zu machen, führen Sie folgenden Befehl in der Befehlszeile aus:

    sudo ln -s /usr/bin/chromium-browser /usr/bin/chromium
    
  4. Nachdem Sie eine der optionalen Umgebungsvariablen festgelegt haben, starten Sie die Looker-Anwendung neu, damit sie wirksam werden. Möglicherweise müssen Sie auch alle offenen Terminalsitzungen neu starten oder source ~/.bash_profile ausführen, damit das Terminal die neue Konfiguration liest.

Nach der Installation von Chromium sollten Sie eine gültige Antwort von chromium --version erhalten, wenn Sie die Umgebungsvariable CHROMIUM_PATH nicht festgelegt haben, bzw. $CHROMIUM_PATH --version, wenn Sie die Umgebungsvariable CHROMIUM_PATH festgelegt haben.

Chromium unter Debian installieren

Looker empfiehlt, den Befehl sudo zu verwenden, wenn Sie Schritte ausführen, die erhöhte Berechtigungen erfordern. Installieren Sie Chromium nicht, wenn Sie als Root-Nutzer angemeldet sind. Wenn Sie Chromium installieren, während Sie als Root-Nutzer angemeldet sind, kann Looker möglicherweise kein PDF- oder PNG-Rendering ausführen.

Für Chromium ist Debian 9 (Stretch) oder höher erforderlich.

Wenn Ihre Looker-Instanz Docker mit einer einfachen Debian-Installation verwendet, installieren Sie procps und achten Sie darauf, dass Sie nicht als Root ausgeführt werden.

  1. Damit Chromium gestartet werden kann, müssen Schriftarten auf dem System installiert sein. Mit dem folgenden Befehl können Sie Schriftarten über die Befehlszeile installieren:

    apt-get install fonts-freefont-otf
    
  2. Führen Sie folgenden Befehl aus, um Chromium zu installieren:

    apt-get update && apt-get install -y chromium
    
  3. Nachdem Sie eine der optionalen Umgebungsvariablen festgelegt haben, starten Sie die Looker-Anwendung neu, damit sie wirksam werden. Möglicherweise müssen Sie auch alle offenen Terminalsitzungen neu starten oder source ~/.bash_profile ausführen, damit das Terminal die neue Konfiguration liest.

Nach der Installation von Chromium sollten Sie eine gültige Antwort von chromium --version erhalten, wenn Sie die Umgebungsvariable CHROMIUM_PATH nicht festgelegt haben, bzw. $CHROMIUM_PATH --version, wenn Sie die Umgebungsvariable CHROMIUM_PATH festgelegt haben.

Optionale Chromium-Umgebungsvariablen

  • CHROMIUM_PATH: Pfad zum Chromium-Binärprogramm, standardmäßig chromium.

  • CHROMIUM_PID_DIR: Pfad, in dem die Bibliothek Chromium-PID-Dateien speichern kann. Der Standardwert ist chromium_pid_files im Arbeitsverzeichnis der Looker-Anwendung.

  • CHROMIUM_PORT_RANGE_START und CHROMIUM_PORT_RANGE_END: Die Chromium-Anwendung benötigt einen Bereich von Ports, um zwischen Prozessen auf dem lokalen Computer zu kommunizieren. Der Standardbereich liegt zwischen 40.000 und 40.500, Sie können ihn jedoch überschreiben, indem Sie beide Umgebungsvariablen festlegen. Nicht verwendete Ports werden nach dem Zufallsprinzip aus dem Bereich ausgewählt und nur für die Dauer eines einzelnen Renderings verwendet.

  • DISABLE_EXTERNAL_RENDER_ACCESS: Administratoren von vom Kunden gehosteten Looker-Instanzen oder -Servern ohne externen oder blockierten Internetzugriff sollten DISABLE_EXTERNAL_RENDER_ACCESS=true festlegen. Normalerweise wartet der Chromium-Renderer, bis alle von der Seite angeforderten Ressourcen abgeschlossen sind, bevor der Renderer das Signal „Fertig“ sendet, das Looker auffordert, den Inhalt zu erstellen. Einige dieser Anfragen werden möglicherweise aufgrund fehlender Verbindung abgebrochen, was zu Zeitüberschreitungen oder sehr langen Renderingzeiten führt. Wenn diese Umgebungsvariable auf true gesetzt wird, wartet der Renderer nicht, bis alle Anfragen abgeschlossen sind. Für einige Kartenvisualisierungen und benutzerdefinierte Visualisierungen, die über den Looker Marketplace installiert werden, ist möglicherweise ein Internetzugang erforderlich.