Installation von „ Execution Engine for Apache Hadoop “ auf „ Apache Hadoop “-Clustern

Um „ Watson Studio “ in Ihren „Remote- Apache Hadoop “-Cluster zu integrieren, installieren und konfigurieren Sie den „ Execution Engine for Apache Hadoop “-Dienst auf Ihrem „ Hadoop “-Cluster.

Vorbereitende Schritte

Sie müssen die folgenden Voraussetzungen erfüllen:

  1. Installieren Sie die Execution Engine sowohl auf dem Cluster „ Cloud Pak for Data “ als auch auf dem Cluster „ Hadoop “. Weitere Informationen zur Installation von „ Execution Engine for Apache Hadoop “ unter „ Cloud Pak for Data “ finden Sie unter „Installation von „ Execution Engine for Apache Hadoop ““.

  2. Überprüfen Sie vor der Installation des Dienstes, ob Sie die Systemanforderungen erfüllen und sich über die unterstützten Versionen und Plattformen von „ Hadoop “ im Klaren sind.

Systemvoraussetzungen

Sie müssen sicherstellen, dass die folgenden Systemanforderungen erfüllt sind, bevor Sie „ Execution Engine for Apache Hadoop “-Cluster installieren.

Hardwarevoraussetzungen für Edge-Knoten
  • 8 GB Hauptspeicher
  • 2 CPU-Kerne
  • 100 GB Festplatte, angehängt und verfügbar unter /var im lokalen Linux-Dateisystem. Die Installation erstellt die folgenden Verzeichnisse und diese Positionen sind nicht konfigurierbar:
    • Zum Speichern der Protokolle: /var/log/dsxhi.
    • So speichern Sie die Prozess-IDs: /var/run/dsxhi and /var/run/livy.
  • 10-GB-Netzschnittstellenkarte für Multi-Tenant-Umgebung empfohlen (1-GB-Netzschnittstellenkarte, wenn WEBHDFS nicht stark ausgelastet ist)
Edge-Knoten-Softwareanforderungen
  • Java 1.8
  • Python 3.8 oder höher
  • curl 7.19.7-53 oder höher
  • Bei Clustern, bei denen die Sicherheit nach dem „ Kerberos “-Prinzip aktiviert ist, ein Benutzer-Keytab und ein SPNEGO-Keytab ( HTTP ).
  • Für Cluster mit nicht aktivierter Kerberos-Sicherheit: Schreibberechtigungen für den YARN-Benutzer für alle Verzeichnisse, in die ein YARN-Job schreibt
  • Um die Kompatibilität mit dem Runtime- 25.1 zu gewährleisten, benötigt Jupyter Enterprise Gateway (JEG) einen Cluster von „ Cloudera “ ( Hadoop ), der auf „ Red Hat Enterprise Linux 9“ läuft. Bevor Sie JEG installieren, stellen Sie sicher, dass die folgenden RPM-Pakete auf allen Knoten des Clusters installiert sind:
    • python3.12
    • freetype
    • libgomp
    • libpq
Hinweis:

Der Support für frühere Versionen von „ Red Hat Enterprise Linux “ (RHEL) hängt vom öffentlichen Support durch RHEL ab. Wenn für eine Version von RHEL das Datum für das Ende des Supports ( EoS ) erreicht ist, wird diese Version in Execution Engine for Apache Hadoop nicht mehr unterstützt.

Ports
  • Ein externer Port für den Gateway-Service
  • Ein interner Port für den Hadoop Integration-Service
  • Interne Ports für „ Livy “ und den „Jupyter Enterprise Gateway“-Dienst für „Spark“ 3.0. Dies ist erforderlich, wenn Sie möchten, dass der Dienst „ Execution Engine for Apache Hadoop “ ausschließlich „ Livy “ installiert.
Hinweis:

Wenn Sie den bestehenden Dienst „ Livy “ auf dem Cluster „ Hadoop “ nutzen, müssen Sie mit einigen Problemen rechnen. Sie sollten in Erwägung ziehen, den Dienst „ Livy “ zu nutzen, der im Lieferumfang der „ Hadoop Execution Engine“ enthalten ist. Weitere Informationen finden Sie in der Ausgabe von „ Apache “ – Livy.

Konfigurationsanforderungen
  • AUTO TLS ist erforderlich, um den Jupyter Enterprise Gateway (JEG)-Dienst auszuführen und eine Verbindung zu Spark herzustellen.
Unterstützte Hadoop-Versionen
  • Cloudera Datenplattform (CDP) Version 7.1.7-SP1, 7.1.7-SP2, 7.1.7-SP3, 7.1.9, 7.1.9-SP1, 7.3.1
  • Cloudera Data Platform (CDP) Version 7.1.9, 7.1.9-SP1, 7.3.1

Der Support für frühere Versionen der „ Cloudera “ Data Platform (CDP) hängt vom öffentlichen Support durch Cloudera ab. Wenn das End-of-Life-Datum ( EoL ) einer CDP-Version erreicht ist, wird diese Version in Execution Engine for Apache Hadoop nicht mehr unterstützt.

Unterstützte Plattformen
Der Dienst „ Execution Engine for Apache Hadoop “ wird auf allen oben aufgeführten Plattformen der „ x86 “ unterstützt, die von den dort genannten Versionen der „ Cloudera Data Platform“ (CDP) unterstützt werden.

Anforderungen für Root-Benutzer

Der Dienst „ Execution Engine for Apache Hadoop “ wird als Root-Benutzer ausgeführt. Wenn Sie den Dienst zur Gewährleistung der Hochverfügbarkeit auf mehreren Edge-Knoten installieren, sollte derselbe Root-Benutzer verwendet werden. Dieser Benutzer muss die folgenden Voraussetzungen erfüllen:

  • Gültiger Linux-Benutzer auf dem Knoten, auf dem der Service 'Execution Engine for Apache Hadoop' installiert ist.

  • In HDFS erstelltes Ausgangsverzeichnis. Das Verzeichnis sollte sowohl als Eigentümer als auch als Gruppe den Benutzer „root“ zugewiesen haben.

  • Erforderliche Proxy-Benutzerzugriffsrechte in Hadoop. Um beispielsweise einen Proxy-Root-Benutzer als Proxy-Benutzer für CDP zu konfigurieren, müssen Sie in den core-site.xml Eigenschaften des Root-Benutzers die folgenden Werte festlegen:

    hadoop.proxyuser.<proxy_user>.hosts
    hadoop.proxyuser.<proxy_group>.groups hadoop.proxyuser.<proxy_user>.users
    
  • Wenn Sie einen bestehenden „ Livy “-Dienst nutzen, der auf dem „ Hadoop “-Cluster läuft, sollte der Root-Benutzer über die erforderlichen Superuser-Rechte für die Dienste unter Livy verfügen.

  • Bei einem Cluster, bei dem die „ Kerberos “-Sicherheit aktiviert ist, müssen Sie zwei Keytabs erstellen, um „ Execution Engine for Apache Hadoop “ zu installieren. Die Keytab-Dateien müssen dem Benutzer „root“ gehören, da dadurch vermieden wird, dass jeder Benutzer unter Watson Studio über eine gültige Keytab verfügen muss.

Verwenden Sie das folgende Beispiel als Anleitung, um nach der Konfiguration des Key Distribution Center ein Keytab zu erstellen:

# assumptions for following example
service_user: dsxhi
host_FQDN: *.examplehost.example.com

# service_user keytab
kadmin.local -q "addprinc dsxhi"
kadmin.local -q "xst -norandkey -k dsxhi.keytab dsxhi"

# SPNEGO keytab
kadmin.local -q "addprinc -randkey HTTP/*.examplehost.example.com"
kadmin.local -q "xst -norandkey -k spnego.*.examplehost.keytab HTTP/*.examplehost.example.com"

Einrichten des Installationsbenutzers (Root-Benutzer oder Nicht-Root-Benutzer)

Um den Dienst „ Execution Engine for Apache Hadoop “ als Root-Benutzer zu installieren, muss die Keytab-Datei dem Root-Benutzer gehören:

  1. yum install <rpm>
  2. CHOWN <service_service> -R /opt/ibm/dsxhi/
  3. Bearbeiten/Erstellen /opt/ibm/dsxhi/conf/dsxhi_install.conf
  4. cd /opt/ibm/dsxhi/bin
  5. Python /opt/ibm/dsxhi/bin/install.py

Um „ Execution Engine for Apache Hadoop “ als Nicht-Root-Benutzer zu installieren, müssen Sie dem Nicht-Root-Benutzer mit dem Befehl „visudo“ die erforderlichen Berechtigungen erteilen:

  1. VISUDO-Regeln für Benutzer ohne Rootberechtigung anwenden
  2. su <non-root_user>
  3. sudo yum install <rpm>
  4. sudo chown <non-root_user:non-root_user> -R /opt/ibm/dsxhi/
  5. Bearbeiten/Erstellen /opt/ibm/dsxhi/conf/dsxhi_install.conf
  6. cd /opt/ibm/dsxhi/bin
  7. sudo python /opt/ibm/dsxhi/bin/install.py

VISUDO-Vorlage:

## DSXHI
<non-root_user> ALL=(root) NOPASSWD: /usr/bin/yum install <path-to-rpm/rpm>, /usr/bin/yum erase dsxhi*, /usr/bin/chown * /opt/ibm/dsxhi/, /usr/bin/python /opt/ibm/dsxhi/*

Service installieren

Sie benötigen Administratorrechte, um diese Schritte auszuführen.

So installieren Sie den Dienst „ Execution Engine for Apache Hadoop “ auf dem Cluster „ Hadoop “:

  1. Suchen Sie das RPM-Installationsprogramm in Passport Advantage. Sie sehen das Bild für den Dienst.

  2. Führen Sie das RPM-Installationsprogramm aus. RPM ist installiert in /opt/ibm/dsxhi.

  3. Wenn Sie die Installation als Root-Benutzer durchführen, führen Sie folgenden Befehl aus sudo chown <serviceuser\> -R /opt/ibm/dsxhi:

  4. Erstellen Sie eine /opt/ibm/dsxhi/conf/dsxhi_install.conf Datei, indem Sie /opt/ibm/dsxhi/conf/dsxhi_install.conf.template.CDH die Datei als Vorlage verwenden. Weitere Informationen zu den Parametern, die Sie in der dsxhi_install.conf.template.CDH Vorlage verwenden können, finden Sie unter „Vorlagenparameter für die Installation des Dienstes auf Apache Hadoop -Clustern “.

  5. Optional: Wenn Sie zusätzliche Eigenschaften festlegen müssen, um den Speicherort von Java zu steuern, einen gemeinsamen Truststore verwenden oder zusätzliche Java-Optionen übergeben möchten, erstellen Sie ein /opt/ibm/dsxhi/conf/dsxhi_env.sh Skript zum Exportieren der Umgebungsvariablen:

    export JAVA="<JAVA_PATH>/bin/java"
    
    export JAVA_CACERTS=/etc/pki/java/cacerts
    
    export DSXHI_JAVA_OPTS="-Djavax.net.ssl.trustStore=$JAVA_CACERTS"
    
  6. Die Installation führt Vorabprüfungen durch, um festzustellen, ob die Voraussetzungen erfüllt sind. Wenn cluster_manager_url nicht in der Datei 'dsxhi_install.conf' angegeben ist, werden die Vorabprüfungen für die proxyuser-Einstellungen nicht ausgeführt.

    Nach der Installation des Dienstes werden die erforderlichen Komponenten, wie beispielsweise der Gateway-Dienst und der „ Hadoop “-Integrationsdienst, sowie optionale Komponenten (z. B. „ Livy “ für Spark) gestartet.

  7. Wenn WebHDFS SSL nach der Installation des Service aktiviert wird, muss der Hadoop-Administrator die Zertifikate für jeden Namensknoten und Datenknoten zum Truststore des Gateway-Service hinzufügen und die Topologiedateien aktualisieren.

    1. Führen Sie in /opt/ibm/dsxhi/bin/util den Befehl ./add_cert.sh https://host:port <cacert_password> für jeden Namensknoten und Datenknoten aus.

    2. Aktualisieren Sie die Datei /opt/ibm/dsxhi/gateway/conf/topologies*.xml manuell zur Verwendung von HTTPS-URL und HTTPS-Port und orientieren Sie sich am folgenden Beispiel:

      <service>
        <role>WEBHDFS</role>
        <url>https://NamenodeHOST:PORT</url>
      </service>
      
  8. Optional: Fügen Sie Conda-Kanäle für das Hochladen von Images auf Cloud Pak for Data und die dynamische Paketinstallation hinzu.

    Wenn ein Cloud Pak for Data-Administrator ein Laufzeitimage durch eine Push-Operation in Hadoop mit dem Push-Typ 'Hadoop' überträgt, erfolgt die Paketauflösung unter Verwendung von Conda-RC-Dateien, die mit der HI-RPM-Datei installiert werden. Die Conda-RC-Dateien befinden sich an den folgenden Positionen. Diese Dateien werden auch von der Dienstprogramm-Methode „ hi_core_utils.install_packages ()“ verwendet.

    • /user/<dsxhi-svc-user>/environments/conda/conda_rc_x86_64.yaml
    • /user/<dsxhi-svc-user>/environments/conda/conda_rc_ppc64le.yaml

    Ein Hadoop-Administrator kann die Conda-RC-Dateien bearbeiten, um weitere Kanäle hinzuzufügen, was in folgenden Situationen nützlich ist:

    • Die Push-fähigen Images aus Cloud Pak for Data erfordern zusätzliche Kanäle für die Paketauflösung. Der Hadoop-Administrator muss dies möglicherweise tun, wenn die Hadoop-Image-Push-Operationen mit Fehlern bei der Paketauflösung fehlschlagen.
    • Ein oder mehrere Pakete, die ein Benutzer mit „ hi_core_utils.install_packages ()“ installieren möchte, erfordern zusätzliche Kanäle. Wenn der Hadoop-Administrator diese Kanäle für alle Benutzer des Systems zugänglich machen möchte, kann er die erforderlichen Kanäle den (oben angegebenen) Conda-RC-Dateien hinzufügen.
    • Bei der Bearbeitung der Dateien sollte der Administrator von „ Hadoop “ sicherstellen, dass die Datei weiterhin dem Root-Benutzer „DSXHI“ gehört und die Berechtigungen 644 beibehält.
    Hinweis: Im Allgemeinen verlängert das Hinzufügen von Kanälen zu diesen conda-rc-Dateien die Zeit, die für die Auflösung von Paketen benötigt wird, und kann dazu führen, dass die Ausführung der entsprechenden Vorgänge länger dauert.

Wiederherstellung der Installation aus einer früheren Version

Befolgen Sie die folgenden Schritte, falls die Installation der neuen Version des Dienstes fehlschlägt. Die Anleitung führt Sie durch die Wiederherstellung der vorherigen Version des Dienstes.

  1. Führen Sie das Deinstallationsskript für die neuere Version aus:

    cd /opt/ibm/dsxhi/bin
    ./uninstall.py
    
  2. Erstellen Sie eine Sicherungskopie der install.conf Datei:

    cp /opt/ibm/dsxhi/conf/dsxhi_install.conf /tmp/dsxhi_install.conf
    
  3. Entfernen Sie das Installationspaket:

    yum erase -y dsxhi
    
  4. Installieren Sie das alte HEE-Paket:

    yum install -y <old_dsxhi_rpm_file>
    
  5. Ersetzen Sie die Datei dsxhi_install.conf im conf Verzeichnis:

    cp /tmp/dsxhi_install.conf /opt/ibm/dsxhi/conf/
    
  6. Führen Sie die Installation aus:

    cd /opt/ibm/dsxhi/bin
    ./install.py
    
  7. Fügen Sie den Cluster „ Watson Studio “ unter URL hinzu:

    cd /opt/ibm/dsxhi/bin
    ./manage_known_dsx -a <wsl_cluster_URL_to_add>
    
  8. Registrieren Sie den Dienst unter „ Watson Studio “ auf der Registerkarte „ Hadoop Execution Engine “ im Abschnitt „Konfiguration und Einstellungen“.

Angepasste Zertifikate konfigurieren

Sie können Ihre vorhandenen Zertifikate verwenden, ohne den Truststore des Systems zu ändern. Die folgenden Konfigurationseigenschaften konvertieren DSXHI, um die folgenden Anpassungen auszuführen:

custom_jks
DSXHI generiert in der Regel einen Keystore, konvertiert ihn in eine .crt-Datei und fügt dem Java-Truststore den .crt-Keystore hinzu. Mit dieser Konfiguration können Sie jedoch mit DSXHI einen angepassten Keystore angeben, der zum Generieren der erforderlichen .crt-Datei verwendet werden kann.
dsxhi_cacert
DSXHI hat zuvor den entsprechenden Truststore erkannt, der als Teil der Installation verwendet werden soll. Mit der Eigenschaft dsxhi_cacert ermöglicht DSXHI es, jeden angepassten Truststore (CACERTS) bereitzustellen, in dem DSXHI-Zertifikate hinzugefügt werden.
add_certs_to_truststore
Diese Konfiguration bietet Optionen zum Hinzufügen des Hostzertifikats zum Truststore selbst oder zum Hinzufügen von DSXHI. Wenn Sie die Konfiguration auf "False" festlegen, müssen Benutzer das Hostzertifikat selbst dem Truststore hinzufügen. DSXHI nimmt keine Änderungen am Truststore vor. Wenn Sie die Konfiguration auf "True" festlegen, behält DSXHI das Standardverhalten bei, um das Hostzertifikat zum Java-Truststore und zu den erkannten Datenknoten für Gateway- und Web-Services hinzuzufügen.

Weitere Informationen