Einleitung
Dieses Tutorial führt Sie durch das allgemeine Vorgehen bei der Installation der Hortonworks Sandbox (HDP oder HDF) in Docker auf Ihrem Computer.
Voraussetzungen
- Docker Version 17.09 oder höher ist installiert
- A computer with minimum 10 GB RAM dedicated to the virtual machine
- Benutzer von Microsoft Windows benötigen Bash Shell. Die Anleitung wurde mit Git Bash getestet.
Übersicht
- Konfiguration des Arbeitsspeichers
- HDP-Bereitstellung
- HDF-Bereitstellung
- Connected Data Architecture (CDA) aktivieren – weiterführendes Thema
- Weiterführende Ressourcen
- Anhang A: Fehlerbehebung
Konfiguration des Arbeitsspeichers
Arbeitsspeicher bei Linux
Bei Verwendung von Linux ist keine besondere Konfiguration erforderlich.
Arbeitsspeicher bei Windows
Nachdem Sie Docker für Windows installiert haben, öffnen Sie die Anwendung und klicken Sie in der Menüleiste auf das Docker-Symbol. Wählen Sie Settings (Einstellungen) aus.
Select the Advanced tab and adjust the dedicated memory to at least 10GB of RAM.
Arbeitsspeicher bei Mac
Nachdem Sie Docker für Mac installiert haben, öffnen Sie die Anwendung und klicken Sie in der Menüleiste auf das Docker-Symbol. Wählen Sie Preferences (Einstellungen) aus.
Select the Advanced tab and adjust the dedicated memory to at least 12GB of RAM.
HDP-Bereitstellung
HDP-Sandbox bereitstellen
HDP-Sandbox installieren/bereitstellen/starten
- Laden Sie die neuesten Skripte für die Hortonworks Data Platform (HDP) für Docker herunter und entpacken Sie die ZIP-Datei.
Im entpackten Ordner befindet sich das Shell-Skript docker-deploy-{version}.sh. Führen Sie das Skript über die entsprechende Befehlszeile – Linux/Mac/Windows (Git Bash) – aus:
cd /path/to/script
sh docker-deploy-{HDPversion}.sh
Hinweis: Das Skript muss nur einmal ausgeführt werden. Damit wird die Sandbox eingerichtet und gestartet und, falls erforderlich, der Docker-Container für die Sandbox erstellt.
Hinweis: Der entpackte Ordner enthält weitere Skripte und Ordner, die im Moment ignoriert werden können. Sie werden später in weiterführenden Tutorials verwendet.
Die Skriptausgabe sieht der folgenden ähnlich:
HDP-Sandbox überprüfen
Überprüfen Sie, ob die Bereitstellung der HDP-Sandbox erfolgreich war. Führen Sie dafür folgenden Befehl aus:
docker ps
Es sollte Folgendes angezeigt werden:
HDP-Sandbox pausieren
Wenn Sie die HDP-Sandbox pausieren/herunterfahren möchten, führen Sie die folgenden Befehle aus:
docker stop sandbox-hdp
docker stop sandbox-proxy
HDP-Sandbox neu starten
Wenn Sie die HDP-Sandbox neu starten möchten, führen Sie die folgenden Befehle aus:
docker start sandbox-hdp
docker start sandbox-proxy
HDP-Sandbox entfernen
Ein Container ist eine Instanz des Sandbox-Images. Daher müssen Sie Abhängigkeiten des Containers auflösen, bevor Sie ihn entfernen. Führen Sie die folgenden Befehle aus:
docker stop sandbox-hdp
docker stop sandbox-proxy
docker rm sandbox-hdp
docker rm sandbox-proxy
Wenn Sie das Image der HDP-Sandbox entfernen möchten, führen Sie nach Pausieren und Entfernen der Container folgenden Befehl aus:
docker rmi hortonworks/sandbox-hdp:{release}
HDF-Bereitstellung
HDF-Sandbox bereitstellen
HDF-Sandbox installieren/bereitstellen/starten
- Laden Sie die neuesten Skripte für die Hortonworks DataFlow (HDF) für Docker herunter und entpacken Sie die ZIP-Datei.
Im entpackten Ordner befindet sich das Shell-Skript docker-deploy-{version}.sh. Führen Sie das Skript über die entsprechende Befehlszeile – Linux/Mac/Windows (Git Bash) – aus:
cd /path/to/script
sh docker-deploy-{HDFversion}.sh
Hinweis: Das Skript muss nur einmal ausgeführt werden. Damit wird die Sandbox eingerichtet und gestartet und, falls erforderlich, der Docker-Container für die Sandbox erstellt.
Hinweis: Der entpackte Ordner enthält weitere Skripte und Ordner, die im Moment ignoriert werden können. Sie werden später in weiterführenden Tutorials verwendet.
Die Skriptausgabe sieht der folgenden ähnlich:
HDF-Sandbox überprüfen
Überprüfen Sie, ob die Bereitstellung der HDF-Sandbox erfolgreich war. Führen Sie dafür folgenden Befehl aus:
docker ps
Es sollte Folgendes angezeigt werden:
HDF-Sandbox pausieren
Wenn Sie die HDF-Sandbox pausieren/herunterfahren möchten, führen Sie die folgenden Befehle aus:
docker stop sandbox-hdf
docker stop sandbox-proxy
HDF-Sandbox neu starten
Wenn Sie die HDF-Sandbox neu starten möchten, führen Sie die folgenden Befehle aus:
docker start sandbox-hdf
docker start sandbox-proxy
HDF-Sandbox entfernen
A container is an instance of the Sandbox image. You must stop container dependencies before removing it. Issue the following commands:
docker stop sandbox-hdf
docker stop sandbox-proxy
docker rm sandbox-hdf
docker rm sandbox-proxy
Wenn Sie das Image der HDP-Sandbox entfernen möchten, führen Sie nach Pausieren und Entfernen der Container folgenden Befehl aus:
docker rmi hortonworks/sandbox-hdf:{release}
Connected Data Architecture (CDA) aktivieren – weiterführendes Thema
Voraussetzungen:
- A computer with minimum 22 GB of RAM dedicated to the virtual machine
- Neueste HDP-/HDF-Sandbox wird bereits eingesetzt
- Update Docker settings to use minimum 16 GB (16384 MB)
Mit der Hortonworks Connected Data Architecture (CDA) können Sie Sandboxes für Data-in-Motion (HDF) und für Data-at-Rest (HDP) gleichzeitig nutzen.
HDF (Data-in-Motion)
Bei Data-in-Motion werden Daten von unterschiedlichsten Geräten in einen Datenfluss bzw. -strom aufgenommen. In diesem Datenstrom sind die Daten ständig in Bewegung. Währenddessen führen Komponenten – NiFi nennt sie Prozessoren – Aktionen aus, um die Daten zu ändern, umzuwandeln, zusammenzufassen und zu routen. Data-in-Motion übernimmt einen großen Teil der Vorverarbeitungsphase beim Aufbau einer Big-Data-Anwendung. Während der Vorverarbeitung arbeiten Data Engineers beispielsweise mit Rohdaten, um diese in ein besseres Schema zu bringen, sodass Data Scientists sich auf die Analyse und Visualisierung der Daten konzentrieren können.
HDP (Data-at-Rest)
Bei Data-at-Rest sind die Daten nicht in Bewegung, sondern sie werden in einer Datenbank oder einem robusten Datensystem in verteilten Datenspeichern wie dem Hadoop Distributed File System (HDFS) gelagert. Hierbei werden nicht die Daten an Abfragen gesendet, sondern die Abfragen gehen an die Daten – mit dem Ziel, aussagekräftige Erkenntnisse zu erhalten. In dieser Phase entstehen Daten und erfolgen Datenverarbeitung und -analyse beim Aufbau einer Big-Data-Anwendung.
Arbeitsspeicher für Docker aktualisieren
Wählen Sie Docker -> Preferences… -> Advanced (Docker -> Einstellungen … -> Erweitert) aus und legen Sie den Arbeitsspeicher entsprechend fest. Starten Sie Docker neu.
Skript zum Aktivieren von CDA ausführen
Bei der ersten Bereitstellung der Sandbox wurde eine Reihe von Bereitstellungsskripten heruntergeladen. Ein Beispiel finden Sie unter HDP-Sandbox bereitstellen.
Im entpackten Ordner befindet sich das Shell-Skript enable-native-cda.sh. Führen Sie das Skript über die entsprechende Befehlszeile – Linux/Mac/Windows (Git Bash) – aus:
cd /path/to/script
sh enable-native-cda.sh
Die Skriptausgabe sieht der folgenden ähnlich:
Weiterführende Ressourcen
- Video: How to deploy sandbox using Docker
- Sandbox Architecture
- Fahren Sie fort mit dem Tutorial: Grundlagen der HDP-Sandbox
- Verfügbare Tutorials ansehen
Anhang A: Fehlerbehebung
Laufwerk nicht freigegeben
-
Docker muss Schreibzugriff auf das Laufwerk haben, auf dem docker-deploy-{version}.sh ausgeführt wird.
-
Am einfachsten lässt sich das Skript über den Ordner Downloads ausführen.
-
Falls dies nicht funktioniert, können Sie die Bereitstellungsskripte über folgenden Pfad aufrufen und es erneut versuchen: Docker Preferences/Settings -> File Sharing/Shared Drives -> Add/Select path/drive (Docker-Einstellungen -> Dateifreigabe/Freigegebene Laufwerke -> Pfad/Laufwerk hinzufügen/auswählen).
Kein Speicherplatz mehr auf dem Gerät
- Mögliche Lösung
Portkonflikt
Während das Bereitstellungsskript ausgeführt wird, können Probleme mit in Konflikt stehenden Ports auftreten, die in etwa wie folgt lauten können:
Im obigen Bild wird ein Konflikt mit Port 6001 angezeigt.
Gehen Sie zum Speicherort, an dem Sie die Bereitstellungsskripte für Docker gespeichert haben. Ein Beispiel finden Sie unter HDP-Sandbox bereitstellen. Sie werden feststellen, dass das Verzeichnis Sandbox erstellt wurde.
- Bearbeiten Sie die Datei
sandbox/proxy/proxy-deploy.sh
. - Ändern Sie den in Konflikt stehenden Port (zuerst im Schlüsselpaar), zum Beispiel
6001:6001
zu16001:6001
. - Speichern/schließen Sie die Datei.
- Führen Sie folgendes Bash-Skript aus:
bash sandbox/proxy/proxy-deploy.sh
- Bei weiterhin vorhandenen Portkonflikten wiederholen Sie die Schritte.
Überprüfen Sie, ob die Bereitstellung der Sandbox erfolgreich war. Führen Sie dafür folgenden Befehl aus:
docker ps
Es sollte Folgendes angezeigt werden: