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 bleiben 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 Lizenzserver von Looker zu kommunizieren, oder serverlose Webdienste verwenden, die nur Webaufrufe durchführen, z. B. BigQuery.

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

  • 1,2-GHz-CPU; Looker empfiehlt zwei oder mehr Kerne.
  • 8 GB kostenloser RAM
  • 10 GB freier Speicherplatz.
  • 2 GB Speicherplatz für Austauschdateien
  • Linux: Wir verwenden Ubuntu Linux (LTS-Releases) für unser internes Looker-Hosting und empfehlen es Kunden, die keine Linux-Präferenz haben. Wir unterstützen Looker jedoch in Release-Versionen aller wichtigen Linux-Distributionen für Unternehmen, einschließlich RedHat, CentOS und Amazon Linux. Looker wird nur auf Linux-Versionen mit x64-Anweisungssätzen unterstützt.
  • Java OpenJDK 11.0.12+, OpenJDK 8.0.181+ oder HotSpot 1.8 Update 161+. Looker verwendet OpenJDK (Version 11) zur Verbesserung von Leistung und Arbeitsspeichernutzung. Looker empfiehlt das JDK anstelle der JRE, um die zusätzlichen Fehlerbehebungstools zu nutzen. Darüber hinaus empfiehlt Looker, auf neue Java-Updates umzusteigen, sobald diese veröffentlicht werden. Andere Versionen von Java, Oracle JDK und OpenJDK werden derzeit nicht unterstützt.

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

  • 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 von einem privaten AWS-VPC-Netzwerk eine Verbindung zu AWS Redshift herstellt, müssen Sie die MTU auf 1500 einstellen. Weitere Informationen zu dieser Einstellung finden Sie im Abschnitt MTU einer Instanz konfigurieren dieses Amazon Web Services-Artikels. Wenn Looker während eines Datenbankverbindungstests 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. Legen Sie diese Parameter in /etc/sysctl.conf oder einer Datei im Verzeichnis /etc/sysctl.d fest, um das Problem auch nach einem Neustart bestehen zu lassen:

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

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

    looker     soft     nofile     4096
    looker     hard     nofile     4096
    
  • Zeitsynchronisierung über NTP oder gleichwertig.

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

  • Das Basisverzeichnis looker sollte 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.

  • Auch wenn Netcat nicht erforderlich ist, kann es bei der Behebung von Netzwerkverbindungsproblemen hilfreich sein. Ein gängiger Befehl zum Installieren von Netcat auf einem Ubuntu-basierten Server lautet beispielsweise:

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

Zur Vermeidung von Wartungen und Ressourcenkonflikten sollten Sie den Looker-Server nicht zum Hosten anderer Anwendungen verwenden.

ntpd oder chronyd aktivieren

NTP steht für Network Time Protocol. Es ermöglicht der Systemuhr Ihres Hosts, immer die korrekte Zeit beizubehalten, die Looker benötigt, um korrekt zu funktionieren. Solange die Zeiten synchron bleiben, muss bei Looker keine bestimmte Software zur Zeitsynchronisierung verwendet werden. Es ist kein NTP-Server erforderlich, nur der NTP-Client wird benötigt. Sie können „NTP“ durch chronologisches ersetzen.

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

Verschlüsselungsschlüssel erstellen

Looker verwendet die AES-256 Galois/Counter Mode (GCM)-Verschlüsselung, um sensible Daten zu verschlüsseln, die intern gespeichert sind. Dazu gehören:

  • Sicherungen der internen Looker-Datenbank
  • Informationen zu Datenbank und Dienstverbindung
  • Informationen zur Nutzerauthentifizierung
  • Nutzerattributwerte
  • Kundendaten, die im Cache gespeichert oder für die Zustellung aufbereitet werden

Wenn Sie eine detaillierte Liste der Daten erhalten möchten, die von Looker verschlüsselt werden, öffnen Sie eine Supportanfrage.

Die 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 muss ein externer Kundenhauptschlüssel (Customer Master Key, CMK) verwendet werden. Der CMK wird zum Ableiten, Verschlüsseln und Entschlüsseln des Schlüsselverschlüsselungsschlüssels (Key Encryption Key, KEK) verwendet, der wiederum zum Ableiten, Verschlüsseln und Entschlüsseln von Datenschlüsseln verwendet wird.

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

Für vom Kunden gehostete Installationen können ihre eigenen AWS KMS-Konten oder ihre eigenen benutzerdefinierten Schlüsselverwaltungssysteme verwendet werden. Alle Datenschlüssel und der KEK werden verschlüsselt und intern bei der vom Kunden gehosteten Looker-Installation verwendet. Wenn Sie nicht AWS KMS verwenden, sollten Sie den externen CMK an einem sicheren und dauerhaften Ort aufbewahren. Wenn der CMK nach der Verschlüsselung der internen Datenbank verloren geht, kann Ihre Instanz verloren gehen.

Wenn Sie AWS KMS verwenden

Wenn Sie AWS KMS verwenden, erstellen Sie einen CMK mithilfe der AWS Management Console oder der 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.

Das folgende Beispiel zeigt eine IAM-Rolle mit den für den CMK erforderlichen Mindestberechtigungen:

{
    "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 den 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 nicht AWS KMS verwenden

Wenn Sie nicht AWS KMS 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 ihn in der Umgebungsvariablen LKR_MASTER_KEY_ENV zu speichern (wobei <CMK_value> der mit dem vorherigen Befehl generierte CMK ist):

    export LKR_MASTER_KEY_ENV=<CMK_value>
    
  • Zum Generieren und Speichern des CMK in einer Datei können Sie den folgenden Befehl verwenden (wobei <path_to_key_file> der Pfad und Dateiname zum Speichern des CMK ist):

    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 den Lesezugriff des aktuellen Nutzers fest:

    chmod 0400 <path_to_key_file>
    

Nachdem Sie einen CMK generiert haben, sollten Sie ihn an einem sicheren und dauerhaften Ort speichern, bevor Sie fortfahren. Wenn der CMK nach der Verschlüsselung der internen Datenbank verloren geht, kann Ihre Instanz verloren gehen.

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

  • Wenn Sie den 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 den 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, sollten Sie ihn an einem sicheren und dauerhaften Ort speichern, bevor Sie fortfahren. Wenn der CMK nach der Verschlüsselung der internen Datenbank verloren geht, kann Ihre Instanz verloren gehen.

Looker-Anwendung installieren

  1. Gruppe „looker“ erstellen.

    sudo groupadd looker
    
  2. Erstellen Sie den Nutzer looker und sein Basisverzeichnis.

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

    sudo su - looker
    
  4. Erstellen Sie im Basisverzeichnis das Unterverzeichnis looker.

    mkdir ~/looker
    
  5. Wechseln Sie in das Unterverzeichnis looker.

    cd ~/looker
    
  6. Achten Sie darauf, dass Sie sich im richtigen Verzeichnis befinden.

    pwd
    

    Wenn sich Ihre Nutzerverzeichnisse unter /home befinden, sollte dieser Befehl /home/looker/looker ausgeben.

  7. Laden Sie die gewünschten 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. Die Verwendung unterschiedlicher Versionen der Kern- und Abhängigkeits-JAR-Dateien kann zu Instabilität in Ihrer Looker-Installation führen.

  8. Laden Sie das neueste Startskript aus dem Open-Source-GitHub-Repository von Looker herunter. Wenn Looker beim Systemstart ausgeführt werden soll, können Sie das looker_init-Skript herunterladen und die Skriptoptionen systemd und init verwenden.

  9. Verschieben Sie das Startskript (looker) und die Looker-JAR-Dateien (mit dem Namen 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 zu looker.jar und looker-dependencies-x.x.x.jar zu looker-dependencies.jar um.

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

  12. Machen Sie das Looker-Startskript ausführbar. Legen Sie dazu die Berechtigungen auf 0750 fest.

    chmod 0750 looker
    
  13. Starten Sie den Looker-Prozess aus der Shell als looker-Nutzer.

    ./looker start
    
  14. Für die Hilfe zum Start-Flag verwenden Sie:

    java -jar looker.jar --help
    

    Alternativ können Sie auch Folgendes verwenden, um Hilfe zu Startbefehlen zu erhalten:

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

    Sie sollten https in der URL verwenden, wodurch eine Sicherheitswarnung ausgelöst wird, die Sie umgehen müssen. Diese Warnung bleibt bestehen, bis ein gültiges SSL-Zertifikat auf dem Server installiert wird.

  16. Geben Sie den Gutscheincode 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 looker.[yourdomain].com-DNS-Eintrag 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. Eine Ansible-Beispielrolle für die automatisierte Bereitstellung finden Sie auf der Dokumentationsseite Tools zur Konfigurationsverwaltung.

Hypervisor-Abstimmung

Looker wird als virtuelle Java-Maschine 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 Best Practices-Leitfaden für Java von VMware.

Auf anderen Virtualisierungsplattformen kann es die Leistung verbessern, wenn der Arbeitsspeicher des Looker-Hosts vom Hypervisor reserviert wird. Dies ist mit Amazon EC2 nicht steuerbar. Bei anderen Anbietern finden Sie weitere Informationen in deren Dokumentation.

Optionale MySQL-Back-End-Datenbank einrichten

Standardmäßig verwendet Looker eine HyperSQL-In-Memory-Datenbank, um deren Konfiguration, Benutzer und andere Daten zu speichern. Sie können jedoch eine externe MySQL-Datenbank verwenden, um die internen Informationen von Looker zu speichern. Informationen zum Konfigurieren und Optimieren einer MySQL-Back-End-Datenbank finden Sie auf der Dokumentationsseite Zu MySQL migrieren.

Weitere Informationen

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