Looker-Anwendung installieren

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

Das Hosten der Looker-Anwendung ist unabhängig vom Speicherort der Daten. 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 Internetverbindung hat, müssen Sie möglicherweise einen Proxyserver für die Kommunikation mit dem Lizenzserver von Looker einrichten oder serverlose Webdienste verwenden, die nur Webaufrufe ausführen, z. B. BigQuery.

Installieren Sie die Looker-Anwendung auf einer dedizierten Maschine, die 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 Auslagerungsdatei.
  • Linux: Wir verwenden Ubuntu Linux (LTS-Releases) für unser internes Looker-Hosting und empfehlen es Kunden, die keine Linux-Einstellung haben. Allerdings unterstützen wir Looker für Release-Versionen aller großen Linux-Distributionen für Unternehmen, einschließlich RedHat, CentOS und Amazon Linux. Looker wird nur unter Linux-Versionen mit x64-Anweisungen unterstützt.
  • Java OpenJDK 11.0.12 oder höher, OpenJDK 8.0.181 oder HotSpot 1.8 oder 161 oder höher. Looker verwendet OpenJDK (Version 11) zur Verbesserung der Leistung und Arbeitsspeichernutzung. Looker empfiehlt anstelle der JRE das JDK, um die zusätzlichen Tools zur Fehlerbehebung zu nutzen. Außerdem empfiehlt Looker, dass Sie zu neuen Java-Updates wechseln, sobald diese 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.

  • Sie müssen eingehenden Traffic an Ihre 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 über ein privates AWS-VCP-Netzwerk eine Verbindung zu AWS Redshift herstellt, müssen Sie die MTU auf 1.500 festlegen. Weitere Informationen zu dieser Einstellung finden Sie im Abschnitt MTU einer Instanz konfigurieren dieses Amazon Web Services-Artikel. Wenn Looker während eines Tests der Datenbankverbindung erkennt, dass die MTU-Einstellung größer als 1.500 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. Wenn Sie für einen Neustart beibehalten möchten, sollten Sie sie in /etc/sysctl.conf oder in einer Datei im Verzeichnis /etc/sysctl.d festlegen:

    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 mit dem Namen looker, um die Looker-Anwendung auszuführen.

  • Ein Limit für den looker-Nutzer von 4096 oder höher. Fügen Sie dazu in Zeile /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 einzustellen.

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

  • Netcat ist auch bei der Fehlerbehebung von Verbindungsproblemen nicht hilfreich. Ein gängiger Befehl zum Installieren von Netcat auf einem Ubuntu-basierten Server ist:

    sudo apt-get install netcat
    
  • Bei Bedarf können Sie einen Proxyserver einrichten, um die HTTP(S)-Anfragen zu verarbeiten, die Looker zu einem „Core“ auf „localhost“ ausführen muss. Für die Kommunikation mit dem lokalen Proxyserver von Looker müssen Sie einige spezielle Argumente in lookerstart.cfg hinzufügen: Fügen Sie http.nonProxyHosts=localhost hinzu, um den Zugriff auf den lokalen Host von Looker zu ermöglichen, ohne den Proxy zu verwenden. Im Artikel Looker mit BigQuery über einen Web-Proxy-Community-Beitrag verbinden finden Sie ein Beispiel für das Erstellen dieser Verbindung.

So lassen sich Wartungs- und Ressourcenkonflikte vermeiden. Verwenden Sie den Looker-Server nicht, um andere Anwendungen zu hosten.

ntpd oder chronyd aktivieren

NTP steht für Network Time Protocol. So kann die Systemuhr Ihres Hosts immer die richtige Zeit beibehalten, damit Looker korrekt funktioniert. Looker erfordert keine bestimmte Zeitsynchronisierungssoftware, solange die Zeiten synchron bleiben. Es ist nicht notwendig, einen NTP-Server auszuführen. Nur der NTP-Client ist erforderlich. Sie können Chronyd durch NTP ersetzen.

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

Verschlüsselungsschlüssel erstellen

Looker verschlüsselt mit AES-256 Galois/Counter Mode (GCM) intern gespeicherte Daten, darunter:

  • Sicherungen der internen Looker-Datenbank
  • Informationen zu Datenbank- und Dienstverbindungen
  • Informationen zur Nutzerauthentifizierung
  • Nutzerattributwerte
  • Kundendaten, die im Cache gespeichert oder zur Auslieferung bereit sind

Öffnen Sie eine Supportanfrage, um eine detaillierte Liste der Daten aufzurufen, die von Looker verschlüsselt werden.

Die Daten werden mit einem eindeutigen Datenschlüssel verschlüsselt und enthalten einen signierten und versionierten Verschlüsselungsumschlag, um die Bestätigung zu gewährleisten. In diesem Modus muss ein externer Customer Master Key (CMK) verwendet werden. Der CMK wird zum Ableiten, Verschlüsseln und Entschlüsseln des 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 internen Cache von Looker verwendet. Kundendatenbanken sind in keiner Weise von der Verschlüsselung von Looker betroffen. Außerdem werden nur statische Daten (auf dem Laufwerk gespeicherte Daten) auf diese Weise verschlüsselt.

Vom Kunden gehostete Installationen können ihre eigenen AWS KMS-Konten oder ihre eigenen benutzerdefinierten Schlüsselverwaltungssysteme verwenden. 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, sollte der externe CMK an einem sicheren und dauerhaften Ort aufbewahrt werden. Der CMK kann nach der Verschlüsselung der internen Datenbank verloren gehen. Dies kann zum Verlust Ihrer Instanz führen.

Wenn Sie AWS KMS verwenden

Wenn Sie AWS KMS verwenden, erstellen Sie ein CMK mit der AWS-Verwaltungskonsole oder der API.

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

Das folgende Beispiel zeigt eine IAM-Rolle, die die erforderlichen Mindestberechtigungen für Ihren CMK 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 die 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 Ihrer CMK fest:

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

Sie können 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, erstellen Sie ein Base64-32-Byte-CMK. Sie können den CMK entweder in einer Umgebungsvariablen oder in einer Datei speichern:

  • Zum Generieren des CMK und zum Speichern in einer Umgebungsvariablen können Sie den folgenden Befehl verwenden:

    openssl rand -base64 32
    

    Nachdem Sie die CMK generiert haben, kopieren Sie sie und verwenden Sie den folgenden Befehl, um die CMK in der Umgebungsvariable LKR_MASTER_KEY_ENV zu speichern (wobei <CMK_value> die CMK ist, die Sie mit dem vorherigen Befehl generiert haben):

    export LKR_MASTER_KEY_ENV=<CMK_value>
    
  • Zum Generieren und Speichern des CMK 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>
    

    Legen Sie nach dem Generieren der CMK-Datei die Schlüsseldatei-Berechtigungen auf den aktuellen Lesezugriff des Nutzers fest:

    chmod 0400 <path_to_key_file>
    

Nachdem Sie ein CMK generiert haben, sollten Sie es an einem sicheren und dauerhaften Ort aufbewahren, bevor Sie fortfahren. Der CMK kann nach der Verschlüsselung der internen Datenbank verloren gehen. Dies kann zum Verlust Ihrer Instanz führen.

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

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

    export LKR_MASTER_KEY_ENV=<CMK_value>
    
  • Wenn Sie die CMK-Datei 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 ein CMK generiert haben, sollten Sie es an einem sicheren und dauerhaften Ort aufbewahren, bevor Sie fortfahren. Der CMK kann nach der Verschlüsselung der internen Datenbank verloren gehen. Dies kann zum Verlust Ihrer Instanz führen.

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 Stammverzeichnis das Unterverzeichnis looker.

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

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

    pwd
    

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

  7. Laden Sie die gewünschten Looker-JAR-Dateien über eine der Methoden auf der Seite Looker-JAR-Dateien herunterladen herunter. Achten Sie darauf, dass beide JAR-Dateien dieselbe Version haben. Wenn Sie verschiedene Versionen der Kern- und Abhängigkeits-JAR-Dateien verwenden, kann dies zu Instabilität in Ihrer Looker-Installation führen.

  8. Laden Sie das neueste Startskript im Looker-Open-Source-GitHub-Repository herunter. Wenn Looker beim Systemstart ausgeführt werden soll, können Sie das Looker_init-Skript herunterladen und sowohl die Skriptoptionen systemd als auch init verwenden.

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

  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-Speicher Looker zugewiesen werden soll. Weitere Informationen zum manuellen Anpassen dieses Werts finden Sie auf der Dokumentationsseite Empfohlene Java-Speichereinstellungen.

  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 Shell als looker-Nutzer.

    ./looker start
    
  14. Hilfe zum Flag „Beim Start“ verwenden Sie:

    java -jar looker.jar --help
    

    Alternativ können Sie für Hilfe zum Startbefehl Folgendes verwenden:

    java -jar looker.jar help
    
  15. Öffnen Sie einen Browser für https://hostname:9999, wobei hostname der DNS-Name des Hosts ist, der Looker ausführt.

    Verwenden Sie in der URL https, damit eine Sicherheitswarnung erstellt 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 Lizenzschlüssel ein, den Sie von Ihrem Looker-Analyst 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 den 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 ist auf der Dokumentationsseite zu Konfigurationsverwaltungstools verfügbar.

Hypervisor-Feinabstimmung

Looker wird als Java-VM ausgeführt. Wenn sich Ihre Looker-Instanz auf einem VMware-Gast befindet, müssen Sie möglicherweise die Leistung anpassen. Weitere Informationen finden Sie im VMware Best Practices-Leitfaden für Java.

Auf anderen Virtualisierungsplattformen kann es die Leistung verbessern, um den Arbeitsspeicher des Looker-Hosts vom Hypervisor zu reservieren. Dies kann bei Amazon EC2 nicht gesteuert werden. Für andere Anbieter finden Sie in der entsprechenden Dokumentation weitere Informationen.

Optionale MySQL-Back-End-Datenbank einrichten

Standardmäßig verwendet Looker eine HyperSQL-In-Memory-Datenbank, um seine Konfiguration, Nutzer 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.

Nächste Schritte

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