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.
- Systemvoraussetzungen
- Installation des Dienstes als Root-Benutzer oder als Nicht-Root-Benutzer
- Service installieren
- Wiederherstellung der Installation aus einer früheren Version
- Angepasste Zertifikate konfigurieren
Vorbereitende Schritte
Sie müssen die folgenden Voraussetzungen erfüllen:
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 ““.
Ü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.
- Zum Speichern der Protokolle:
- 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:
- 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.12freetypelibgomplibpq
- 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:
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.
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.xmlEigenschaften des Root-Benutzers die folgenden Werte festlegen:hadoop.proxyuser.<proxy_user>.hosts hadoop.proxyuser.<proxy_group>.groups hadoop.proxyuser.<proxy_user>.usersWenn 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:
- yum install
<rpm> - CHOWN
<service_service> -R /opt/ibm/dsxhi/ - Bearbeiten/Erstellen
/opt/ibm/dsxhi/conf/dsxhi_install.conf - cd
/opt/ibm/dsxhi/bin - 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:
- VISUDO-Regeln für Benutzer ohne Rootberechtigung anwenden
- su
<non-root_user> - sudo yum install
<rpm> - sudo chown
<non-root_user:non-root_user> -R /opt/ibm/dsxhi/ - Bearbeiten/Erstellen
/opt/ibm/dsxhi/conf/dsxhi_install.conf - cd
/opt/ibm/dsxhi/bin - 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 “:
Suchen Sie das RPM-Installationsprogramm in Passport Advantage. Sie sehen das Bild für den Dienst.
Führen Sie das RPM-Installationsprogramm aus. RPM ist installiert in
/opt/ibm/dsxhi.Wenn Sie die Installation als Root-Benutzer durchführen, führen Sie folgenden Befehl aus
sudo chown <serviceuser\> -R /opt/ibm/dsxhi:Erstellen Sie eine
/opt/ibm/dsxhi/conf/dsxhi_install.confDatei, indem Sie/opt/ibm/dsxhi/conf/dsxhi_install.conf.template.CDHdie Datei als Vorlage verwenden. Weitere Informationen zu den Parametern, die Sie in derdsxhi_install.conf.template.CDHVorlage verwenden können, finden Sie unter „Vorlagenparameter für die Installation des Dienstes auf Apache Hadoop -Clustern “.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.shSkript zum Exportieren der Umgebungsvariablen:export JAVA="<JAVA_PATH>/bin/java"export JAVA_CACERTS=/etc/pki/java/cacertsexport DSXHI_JAVA_OPTS="-Djavax.net.ssl.trustStore=$JAVA_CACERTS"Die Installation führt Vorabprüfungen durch, um festzustellen, ob die Voraussetzungen erfüllt sind. Wenn
cluster_manager_urlnicht 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.
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.
Führen Sie in
/opt/ibm/dsxhi/bin/utilden Befehl./add_cert.sh https://host:port <cacert_password>für jeden Namensknoten und Datenknoten aus.Aktualisieren Sie die Datei
/opt/ibm/dsxhi/gateway/conf/topologies*.xmlmanuell 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>
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.
Führen Sie das Deinstallationsskript für die neuere Version aus:
cd /opt/ibm/dsxhi/bin ./uninstall.pyErstellen Sie eine Sicherungskopie der
install.confDatei:cp /opt/ibm/dsxhi/conf/dsxhi_install.conf /tmp/dsxhi_install.confEntfernen Sie das Installationspaket:
yum erase -y dsxhiInstallieren Sie das alte HEE-Paket:
yum install -y <old_dsxhi_rpm_file>Ersetzen Sie die Datei
dsxhi_install.confimconfVerzeichnis:cp /tmp/dsxhi_install.conf /opt/ibm/dsxhi/conf/Führen Sie die Installation aus:
cd /opt/ibm/dsxhi/bin ./install.pyFügen Sie den Cluster „ Watson Studio “ unter URL hinzu:
cd /opt/ibm/dsxhi/bin ./manage_known_dsx -a <wsl_cluster_URL_to_add>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_cacertermö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
- Cloud Pak for Data-Cluster verwalten
- Apache Hadoop-Cluster verwalten
- Deinstallation des Dienstes auf einem „ Hadoop “-Cluster – Informationen zur Deinstallation des Dienstes.