Looker-Anwendung installieren

Auf dieser Seite wird beschrieben, wie Sie die Looker-Anwendung für eine vom Kunden gehostete Bereitstellung installieren.

Das Hosting der Looker-Anwendung ist unabhängig davon, wo sich Ihre Daten befinden. Die Daten verbleiben immer in der Datenbank und werden nicht in die Looker-Instanz kopiert.

Bereitstellungsspezifikationen

Wenn Sie Looker in einem Netzwerk ausführen möchten, das keine Verbindung zum Internet hat, müssen Sie möglicherweise einen Proxyserver einrichten, um mit dem Looker-Lizenzserver zu kommunizieren, oder serverlose Webdienste verwenden, die nur Webaufrufe ausführen, z. B. BigQuery.

Installieren Sie die Looker-Anwendung auf einem dedizierten Computer, der die folgenden Mindestanforderungen erfüllt:

  • CPU mit 1,2 GHz.Looker empfiehlt mindestens zwei Kerne.
  • 8 GB kostenloser RAM.
  • 10 GB kostenloser Festplattenspeicher.
  • 2 GB Auslagerungsdatei Speicher.
  • Linux. Wir verwenden Ubuntu Linux (LTS-Versionen) für unser internes Looker-Hosting und empfehlen es Kunden, die keine Linux-Präferenz haben. Wir unterstützen Looker jedoch in Releaseversionen aller wichtigen Enterprise-Linux-Distributionen, einschließlich RedHat, CentOS und Amazon Linux. Looker wird nur auf Linux-Versionen mit x64-Befehlssätzen unterstützt.
  • Java OpenJDK 11.0.12+ oder HotSpot 1.8 Update 161+. Looker verwendet OpenJDK (Version 11) zur Verbesserung der Leistung und Speichernutzung. Looker empfiehlt das JDK anstelle des JRE, um die zusätzlichen Tools zur Fehlerbehebung zu nutzen. Außerdem empfiehlt Looker, auf neue Java-Updates umzusteigen, sobald sie veröffentlicht werden. Andere Versionen von Java, Oracle JDK und OpenJDK werden derzeit nicht unterstützt.

  • libssl und libcrypt.so müssen auf dem System vorhanden sein.

  • Locale und Zeichencodierung: Damit Looker internationale Zeichen in allen Teilen der Anwendung korrekt verarbeiten und anzeigen kann, muss die Serverumgebung so konfiguriert sein, dass ein UTF-8-Locale verwendet wird. Dies ist wichtig für die Verarbeitung von Daten mit Multibyte-Zeichensätzen, z. B. in Japanisch, Chinesisch und vielen anderen Sprachen. Wir empfehlen, die folgenden Umgebungsvariablen auf dem Computer oder im Container festzulegen, auf dem die Looker-Anwendung ausgeführt wird:

    export LANG=en_US.UTF-8 
    export LC_ALL=en_US.UTF-8
    

    Sie können diese Befehle Ihrem Shell-Profil (z. B. ~/.bashrc, ~/.profile) oder den Konfigurationsdateien für Ihre Bereitstellung hinzufügen. Wenn Sie kein UTF-8-Locale konfigurieren, kann es zu Problemen mit der Zeichencodierung kommen. Sonderzeichen werden dann möglicherweise als Fragezeichen, Kästchen oder andere falsche Symbole in der Looker-UI, in Downloads und in API-Antworten angezeigt.

  • Sie müssen eingehenden Traffic zu Ihrer Looker-Instanz über den TCP-Port 9999 zulassen.

  • Wenn Nutzer API-Zugriff benötigen, müssen Sie eingehenden Traffic zu Ihrer Looker-Instanz über den TCP-Port 19999 zulassen.

  • Wenn Looker eine Verbindung zu AWS Redshift aus einem privaten AWS VPC-Netzwerk herstellt, müssen Sie die MTU auf 1500 festlegen. Weitere Informationen zu dieser Einstellung finden Sie im Abschnitt Configuring the MTU of an instance (MTU einer Instanz konfigurieren) in diesem Amazon Web Services-Artikel. Wenn Looker bei einem Datenbankverbindungstest feststellt, dass die MTU-Einstellung größer als 1500 ist, wird der folgende Fehler angezeigt:

    MTU of network interface eth0 is too large (> 1500).
    If Looker instance and Redshift cluster are within the same VPC,
    this warning can be ignored.
    
  • Die folgenden TCP-Keepalive-Einstellungen. Damit diese Einstellungen auch nach einem Neustart bestehen bleiben, müssen sie in /etc/sysctl.conf oder in einer Datei im Verzeichnis /etc/sysctl.d festgelegt werden:

    net.ipv4.tcp_keepalive_time=200
    net.ipv4.tcp_keepalive_intvl=200
    net.ipv4.tcp_keepalive_probes=5
    
  • Ein Nutzer namens looker in der Gruppe looker, um die Looker-Anwendung auszuführen.

  • Ein Ulimit für den Nutzer looker von 4096 oder höher. Fügen Sie dazu die folgenden Zeilen zu /etc/security/limits.conf hinzu:

    looker     soft     nofile     4096
    looker     hard     nofile     4096
    
  • Zeitsynchronisierung über NTP oder eine entsprechende Methode.

  • Der Ordner /tmp darf nicht mit der Option `noexec` bereitgestellt werden.

  • Das Home-Verzeichnis von looker darf nicht auf einem NFS-Volume bereitgestellt werden.

  • Es wird empfohlen, die Zeitzone des Servers auf UTC festzulegen, dies ist aber nicht erforderlich.

  • Für Looker 23.6 und höher ist Git 2.39.1 oder höher erforderlich.

  • Netcat Um Netcat beispielsweise auf einem Ubuntu-basierten Server zu installieren, verwenden Sie den folgenden Befehl:

    sudo apt-get install netcat
    
  • Bei Bedarf können Sie einen Proxyserver einrichten, um die HTTP(S)-Anfragen zu verarbeiten, die Looker an „core“ auf localhost senden muss. Um mit dem lokalen Looker-Proxyserver zu kommunizieren, müssen Sie einige spezielle Argumente in lookerstart.cfg hinzufügen: Fügen Sie http.nonProxyHosts=localhost hinzu, um den Zugriff auf den Looker-Localhost zu ermöglichen, ohne den Proxy zu verwenden.

Um Wartungs- und Ressourcenkonflikte zu vermeiden, sollten Sie den Looker-Server nicht zum Hosten anderer Anwendungen verwenden.

ntpd oder chronyd aktivieren

NTP steht für Network Time Protocol. Damit kann die Systemuhr Ihres Hosts immer die richtige Zeit anzeigen, was für die korrekte Funktion von Looker erforderlich ist. Für Looker ist keine bestimmte Zeitsynchronisierungssoftware erforderlich, solange die Zeiten synchron bleiben. Es ist nicht erforderlich, einen NTP-Server auszuführen. Nur der NTP-Client ist erforderlich. Sie können chronyd anstelle von NTP verwenden.

Informationen zum Aktivieren von ntpd oder chronyd finden Sie in der Dokumentation Ihres Betriebssystemanbieters.

Verschlüsselungsschlüssel erstellen

Looker verwendet die AES-256-GCM-Verschlüsselung (Galois/Counter Mode), um vertrauliche Daten zu verschlüsseln, die intern gespeichert werden, darunter:

  • Sicherungen der internen Looker-Datenbank
  • Informationen zur Datenbank- und Dienstverbindung
  • Informationen zur Nutzerauthentifizierung
  • Werte von Nutzerattributen
  • Kundendaten, die im Cache gespeichert oder für die Bereitstellung vorbereitet werden

Eine detaillierte Liste der von Looker verschlüsselten Daten erhalten Sie, wenn Sie eine Supportanfrage stellen.

Daten werden mit einem eindeutigen Datenschlüssel verschlüsselt und enthalten einen signierten und versionierten Verschlüsselungsumschlag, um die Überprüfung zu gewährleisten. Für diesen Modus ist die Verwendung eines externen Customer Master Key (CMK) erforderlich. Der CMK wird verwendet, um den Schlüsselverschlüsselungsschlüssel (Key Encryption Key, KEK) abzuleiten, zu verschlüsseln und zu entschlüsseln. Der KEK wird wiederum verwendet, um Datenschlüssel abzuleiten, zu verschlüsseln und zu entschlüsseln.

Die Verschlüsselung wird nur für die interne Looker-Datenbank und den Cache verwendet. Kundendatenbanken sind von der Looker-Verschlüsselung in keiner Weise betroffen. Außerdem werden auf diese Weise nur statische Daten (auf der Festplatte gespeicherte Daten) verschlüsselt.

Vom Kunden gehostete Installationen können eigene AWS KMS-Konten oder eigene benutzerdefinierte Schlüsselverwaltungssysteme verwenden. Alle Datenschlüssel und der KEK werden verschlüsselt und intern in der vom Kunden gehosteten Looker-Installation verwendet. Wenn Sie AWS KMS nicht verwenden, sollte der externe CMK an einem sicheren und dauerhaften Ort aufbewahrt werden. Wenn Sie den CMK nach der Verschlüsselung der internen Datenbank verlieren, kann dies zum Verlust Ihrer Instanz führen.

Wenn Sie AWS KMS verwenden

Wenn Sie AWS KMS verwenden, erstellen Sie einen CMK entweder über die AWS Management Console oder die API.

Nachdem Sie den CMK erstellt haben, empfiehlt Looker, eine neue IAM-Rolle zu erstellen, die für Ihren CMK eindeutig ist, und sie mit Ihrer Looker-Instanz zu verknüpfen.

Im Folgenden sehen Sie ein Beispiel für eine IAM-Rolle, die die für Ihren CMK erforderlichen Mindestberechtigungen enthält:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "kms:GenerateRandom",
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:Encrypt",
                "kms:Generate*",
            ],
            "Resource": "arn:aws:kms:*:*:key/*"
        }
    ]
}

Nachdem Sie Ihren CMK und die neue IAM-Rolle erstellt haben, legen Sie die Umgebungsvariable AWS_REGION auf Ihre AWS-Region und die Umgebungsvariable LKR_AWS_CMK auf den Alias Ihres CMK fest:

export AWS_REGION=<AWS_region>
export LKR_AWS_CMK=alias/<CMK_alias>

Optional können Sie auch die Umgebungsvariable LKR_AWS_CMK_EC festlegen, um einen benutzerdefinierten AWS-Verschlüsselungskontext festzulegen. Wenn Sie diese Umgebungsvariable nicht festlegen, verwendet Looker den Standardverschlüsselungskontext, den String Looker_Encryption_Context.

export LKR_AWS_CMK_EC=<My_Encryption_Context>

Wenn Sie AWS KMS nicht verwenden

Wenn Sie AWS KMS nicht verwenden, generieren Sie einen Base64-CMK mit 32 Byte. Sie können den CMK entweder in einer Umgebungsvariablen oder in einer Datei speichern:

  • Um den CMK zu generieren und in einer Umgebungsvariablen zu speichern, können Sie den folgenden Befehl verwenden:

    openssl rand -base64 32
    

    Nachdem Sie den CMK generiert haben, kopieren Sie ihn und verwenden Sie den folgenden Befehl, um den CMK in der LKR_MASTER_KEY_ENV Umgebungsvariablen zu speichern. Dabei ist <CMK_value> der CMK, den Sie mit dem vorherigen Befehl generiert haben:

    export LKR_MASTER_KEY_ENV=<CMK_value>
    
  • Um den CMK zu generieren und in einer Datei zu speichern, können Sie den folgenden Befehl verwenden. Dabei ist <path_to_key_file> der Pfad und Dateiname zum Speichern des CMK:

    openssl rand -base64 32 > <path_to_key_file>
    

    Nachdem Sie die CMK-Datei generiert haben, legen Sie die Berechtigungen für die Schlüsseldatei auf „Nur lesen“ für den aktuellen Nutzer fest:

    chmod 0400 <path_to_key_file>
    

Nachdem Sie einen CMK generiert haben, müssen Sie ihn an einem sicheren und dauerhaften Ort speichern, bevor Sie fortfahren. Wenn Sie den CMK nach der Verschlüsselung der internen Datenbank verlieren, kann dies zum Verlust Ihrer Instanz führen.

Nachdem Sie Ihren CMK generiert und gespeichert haben, legen Sie die Umgebungsvariable LKR_MASTER_KEY_ENV fest:

  • Wenn Sie Ihren CMK in einer Umgebungsvariablen speichern, legen Sie die Umgebungsvariable LKR_MASTER_KEY_ENV auf den Wert des CMK fest:

    export LKR_MASTER_KEY_ENV=<CMK_value>
    
  • Wenn Sie Ihren CMK in einer Datei speichern, legen Sie die Umgebungsvariable LKR_MASTER_KEY_FILE auf den Pfad der CMK-Datei fest:

    export LKR_MASTER_KEY_FILE=<path_to_key_file>
    

Nachdem Sie einen CMK generiert haben, müssen Sie ihn an einem sicheren und dauerhaften Ort speichern, bevor Sie fortfahren. Wenn Sie den CMK nach der Verschlüsselung der internen Datenbank verlieren, kann dies zum Verlust Ihrer Instanz führen.

Looker-Anwendung installieren

  1. Erstellen Sie die Gruppe looker.

    sudo groupadd looker
    
  2. Erstellen Sie den Nutzer looker und sein Home-Verzeichnis.

    sudo useradd -m  -g looker  looker
    
  3. Wechseln Sie zum Nutzer looker. Führen Sie Looker nicht als Root-Nutzer aus.

    sudo su - looker
    
  4. Erstellen Sie im Home-Verzeichnis das Unterverzeichnis looker.

    mkdir ~/looker
    
  5. Wechseln Sie zum Unterverzeichnis looker.

    cd ~/looker
    
  6. Prüfen Sie, ob Sie sich im richtigen Verzeichnis befinden.

    pwd
    

    Wenn sich Ihre Nutzerverzeichnisse unter /home befinden, sollte die Ausgabe dieses Befehls /home/looker/looker sein.

  7. Laden Sie die ausgewählten Looker-JAR-Dateien mit einer der Methoden auf der Dokumentationsseite Looker-JAR-Dateien herunterladen herunter. Achten Sie darauf, dass beide JAR-Dateien dieselbe Version haben. Wenn Sie verschiedene Versionen der Core- und Abhängigkeits-JAR-Dateien verwenden, kann dies zu Instabilität in Ihrer Looker-Installation führen.

  8. Laden Sie das neueste Startskript aus dem GitHub-Repository looker-open-source herunter. Wenn Looker beim Systemstart ausgeführt werden soll, können Sie das Skript looker_init herunterladen und sowohl die Optionen für systemd als auch für das init Skript verwenden.

  9. Verschieben Sie das Startskript (benannt looker) und die Looker-JAR-Dateien (benannt looker-x.x.x.jar und looker-dependencies-x.x.x.jar, wobei x.x.x die Versionsnummer ist) in das neue Verzeichnis ~/looker.

  10. Benennen Sie looker-x.x.x.jar in looker.jar und looker-dependencies-x.x.x.jar in looker-dependencies.jar um.

  11. Das Startskript bestimmt automatisch, wie viel Java-Arbeitsspeicher Looker zugewiesen werden soll. Wenn Sie diesen Wert manuell anpassen möchten, finden Sie weitere Informationen auf der Dokumentationsseite Empfohlene Java-Arbeitsspeichereinstellungen.

  12. Machen Sie das Looker-Startskript ausführbar (legen Sie die Berechtigungen auf 0750 fest).

    chmod 0750 looker
    
  13. Starten Sie den Looker-Prozess über die Shell als Nutzer looker.

    ./looker start
    
  14. Hilfe zu Start-Flags erhalten Sie mit:

    java -jar looker.jar --help
    

    Hilfe zu Startbefehlen erhalten Sie mit:

    java -jar looker.jar help
    
  15. Öffnen Sie einen Browser und rufen Sie https://hostname:9999 auf. Dabei ist hostname der DNS-Name des Hosts, auf dem Looker ausgeführt wird.

    Verwenden Sie https in der URL. Dadurch wird eine Sicherheitswarnung erstellt, die Sie umgehen müssen. Diese Warnung bleibt bestehen, bis ein gültiges SSL-Zertifikat auf dem Server installiert ist.

  16. Geben Sie den Lizenzschlüssel ein, den Sie von Ihrem Looker-Analysten erhalten haben.

  17. Geben Sie einen Namen, eine E‑Mail-Adresse und ein Passwort ein, um Ihr erstes Konto zu erstellen.

DNS-Eintrag erstellen

Fügen Sie einen DNS-Eintrag looker.[yourdomain].com für den Server hinzu. Dieser Schritt ist optional, wird aber empfohlen.

Looker automatisch bereitstellen

Looker kann mit einem Konfigurationsverwaltungstool wie Ansible oder Chef bereitgestellt werden. Ein Beispiel für eine Ansible-Rolle für die automatische Bereitstellung finden Sie auf der Dokumentationsseite Konfigurationsverwaltungstools.

Hypervisor-Abstimmung

Looker wird als Java Virtual Machine ausgeführt. Wenn sich Ihre Looker-Instanz auf einem VMware-Gast befindet, müssen Sie möglicherweise einige Leistungsoptimierungen vornehmen. Weitere Informationen finden Sie im VMware-Leitfaden zu Best Practices für Java.

Auf anderen Virtualisierungsplattformen kann es die Leistung verbessern, wenn Sie den Arbeitsspeicher des Looker-Hosts über den Hypervisor reservieren. Auf Amazon EC2 ist dies nicht möglich. Bei anderen Anbietern finden Sie weitere Informationen in der Dokumentation.

Optionale MySQL-Backend-Datenbank einrichten

Standardmäßig verwendet Looker eine speicherresidente HyperSQL-Datenbank, um die Konfiguration, Nutzer und andere Daten zu speichern. Sie können jedoch auch eine externe MySQL-Datenbank verwenden, um die internen Looker-Informationen zu speichern. Informationen zum Konfigurieren und Optimieren einer MySQL-Backend-Datenbank finden Sie auf der Dokumentationsseite Zu MySQL migrieren.

Nächste Schritte

Nachdem Sie Looker installiert haben, können Sie die Looker-Startoptionen konfigurieren.