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 vom Speicherort Ihrer Daten. Die Daten verbleiben immer in der Datenbank und werden nicht in die Looker-Instanz kopiert.

Bereitstellungsspezifikationen

Wenn Sie Looker in einem Netzwerk ausführen, das nicht mit dem Internet verbunden ist, 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 zwei oder mehr Kerne.
  • 8 GB freier Arbeitsspeicher
  • 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-Präferenz haben. Wir unterstützen Looker jedoch in Releaseversionen aller gängigen Enterprise-Linux-Distributionen, einschließlich RedHat, CentOS und Amazon Linux. Looker wird nur auf Linux-Versionen mit x64-Anweisungen unterstützt.
  • Java OpenJDK 11.0.12 oder höher oder HotSpot 1.8 Update 161 oder höher. Looker verwendet OpenJDK (Version 11), um die Leistung und die Arbeitsspeichernutzung zu verbessern. Looker empfiehlt, das JDK anstelle der JRE zu verwenden, um die zusätzlichen Tools zur Fehlerbehebung nutzen zu können. Außerdem empfiehlt Looker, nach der Veröffentlichung neue Java-Updates zu installieren. 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 zu Ihrer Looker-Instanz über den TCP-Port 9999 zulassen.

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

  • Wenn Looker über ein privates AWS-VPC-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-Artikels. Wenn Looker bei einem Test der Datenbankverbindung feststellt, 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: Damit sie nach einem Neustart erhalten bleiben, sollten 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 mit dem Namen 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 /etc/security/limits.conf die folgenden Zeilen hinzu:

    looker     soft     nofile     4096
    looker     hard     nofile     4096
    
  • Zeitsynchronisierung über NTP oder ein vergleichbares Verfahren

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

  • Das Basisverzeichnis 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 ist zwar nicht erforderlich, kann aber bei der Behebung von Netzwerkverbindungsproblemen hilfreich sein. Um Netcat beispielsweise auf einem Ubuntu-basierten Server zu installieren, wird häufig der folgende Befehl verwendet:

    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 dem lokalen Host senden muss. Wenn Sie mit dem lokalen Proxyserver von Looker kommunizieren möchten, müssen Sie einige spezielle Argumente unter lookerstart.cfg: add http.nonProxyHosts=localhost hinzufügen, 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“. So wird sichergestellt, dass die Systemuhr des Hosts immer die richtige Uhrzeit anzeigt, was für die ordnungsgemäße Funktion von Looker erforderlich ist. Für Looker ist keine bestimmte Zeitsynchronisierungssoftware erforderlich, solange die Zeitzonen synchron bleiben. Es ist nicht erforderlich, einen NTP-Server auszuführen. Es ist nur der NTP-Client 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-Verschlüsselung im Galois/Counter Mode (GCM), um vertrauliche Daten zu verschlüsseln, die intern gespeichert werden. Dazu gehören:

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

Eine detaillierte Liste der Daten, die in Looker verschlüsselt werden, erhalten Sie, wenn Sie eine Supportanfrage stellen.

Die Daten werden mit einem eindeutigen Datenschlüssel verschlüsselt und enthalten einen signierten und versionierten Verschlüsselungsumschlag zur Bestätigung. Für diesen Modus ist die Verwendung eines externen Kundenmasterschlüssels (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. Dieser wird wiederum verwendet, um Datenschlüssel abzuleiten, zu verschlüsseln und zu entschlüsseln.

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

Bei vom Kunden gehosteten Installationen können eigene AWS KMS-Konten oder eigene benutzerdefinierte Schlüsselverwaltungssysteme verwendet werden. 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 die 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 CMEK erstellt haben, empfiehlt Looker, eine neue IAM-Rolle zu erstellen, die für Ihren CMEK eindeutig ist, und sie an Ihre Looker-Instanz anzuhängen.

Im Folgenden finden Sie ein Beispiel für eine IAM-Rolle mit den Mindestberechtigungen, die für Ihre CMK erforderlich sind:

{
    "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>

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 die CMK entweder in einer Umgebungsvariablen oder in einer Datei speichern:

  • Wenn Sie die CMK generieren und in einer Umgebungsvariablen speichern möchten, können Sie den folgenden Befehl verwenden:

    openssl rand -base64 32
    

    Nachdem Sie den CMEK-Schlüssel generiert haben, kopieren Sie ihn und speichern Sie ihn mit dem folgenden Befehl in der Umgebungsvariablen LKR_MASTER_KEY_ENV. Dabei steht <CMK_value> für den CMEK-Schlüssel, den Sie mit dem vorherigen Befehl generiert haben:

    export LKR_MASTER_KEY_ENV=<CMK_value>
    
  • Mit dem folgenden Befehl können Sie die CMK generieren und in einer Datei speichern. Dabei steht <path_to_key_file> für den Pfad und den Dateinamen zum Speichern der 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 so fest, dass der aktuelle Nutzer nur Lesezugriff hat:

    chmod 0400 <path_to_key_file>
    

Nachdem Sie eine CMK generiert haben, sollten Sie sie an einem sicheren und dauerhaften Ort speichern, bevor Sie fortfahren. Wenn Sie die CMK nach der Verschlüsselung der internen Datenbank verlieren, kann dies zum Verlust Ihrer Instanz führen.

Nachdem Sie den CMEK-Schlüssel generiert und gespeichert haben, legen Sie die Umgebungsvariable LKR_MASTER_KEY_ENV fest:

  • Wenn Sie die 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 Ihre 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 eine CMK generiert haben, sollten Sie sie an einem sicheren und dauerhaften Ort speichern, bevor Sie fortfahren. Wenn Sie die 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 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 das Unterverzeichnis looker im Basisverzeichnis.

    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 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. Die Verwendung verschiedener Versionen der JAR-Dateien für den Kern und die Abhängigkeiten kann zu Instabilitäten in Ihrer Looker-Installation führen.

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

  9. Verschieben Sie das Startskript (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 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-Speicher Looker zugewiesen werden soll. Wenn Sie diesen Wert manuell anpassen möchten, finden Sie weitere Informationen auf der Seite Empfohlene Java-Speichereinstellungen.

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

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

    ./looker start
    
  14. Hilfe zu Start-Flags:

    java -jar looker.jar --help
    

    Oder verwenden Sie Folgendes, um Hilfe zum Startbefehl zu erhalten:

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

    Sie sollten https in der URL verwenden. Dadurch wird eine Sicherheitswarnung angezeigt, die Sie umgehen müssen. Diese Warnung bleibt so lange 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 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 Beispiel-Ansible-Rolle für die automatisierte Bereitstellung finden Sie auf der Dokumentationsseite Tools zur Konfigurationsverwaltung.

Hypervisor-Abstimmung

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

Auf anderen Virtualisierungsplattformen kann die Leistung verbessert werden, wenn der Arbeitsspeicher des Looker-Hosts vom Hypervisor reserviert wird. Bei Amazon EC2 ist dies nicht möglich. Bei anderen Anbietern sollten Sie jedoch die jeweilige Dokumentation konsultieren.

Optionale MySQL-Back-End-Datenbank einrichten

Standardmäßig verwendet Looker eine speicherinterne HyperSQL-Datenbank, um die Konfiguration, Nutzer und andere Daten zu speichern. Sie können jedoch 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.