Dataproc – FAQ

Allgemein

Was ist Dataproc?

Dataproc ist ein schneller, nutzerfreundlicher, kostengünstiger und vollständig verwalteter Dienst, über den Sie Apache Spark und Apache Hadoop auf der Google Cloud Platform ausführen können. Dataproc stellt große oder kleine Cluster schnell bereit, unterstützt viele beliebte Jobtypen und ist in andere Google Cloud Platform-Dienste wie Cloud Storage und Cloud Logging eingebunden. Somit hilft die Lösung, die Gesamtbetriebskosten zu senken.

Wie unterscheidet sich Dataproc von herkömmlichen Hadoop-Clustern?

Dataproc ist ein verwalteter Spark-/Hadoop-Dienst, der Spark und Hadoop einfach, schnell und leistungsstark machen soll. In einer herkömmlichen Hadoop-Bereitstellung, selbst in solchen, die Cloud-basiert sind, muss die Arbeit im Cluster installiert, konfiguriert, verwaltet und organisiert werden. Dataproc nimmt Ihnen dagegen die Erstellung, die Verwaltung und das Monitoring von Clustern sowie die Joborchestrierung ab.

Wie kann ich Dataproc verwenden?

In Abhängigkeit von Ihren Anforderungen und Funktionen gibt es verschiedene Methoden zur Verwendung eines Dataproc-Clusters. Sie können über die browserbasierte Google Cloud Console mit Dataproc interagieren. Da Dataproc in das Cloud SDK eingebunden ist, können Sie dazu auch das gcloud-Befehlszeilentool verwenden. Für den programmatischen Zugriff auf Cluster steht Ihnen die Dataproc REST API zur Verfügung. Sie können auch SSH-Verbindungen zu Master- oder Worker-Knoten im Cluster herstellen.

Wie funktioniert Dataproc?

Dataproc ist ein verwaltetes Framework, das auf der Google Cloud Platform ausgeführt wird und mehrere beliebte Tools für die Datenverarbeitung kombiniert, darunter Apache Hadoop, Spark, Hive und Pig . Dataproc bietet verschiedene Steuerungs- und Integrationsmechanismen, mit denen Lebenszyklus, Verwaltung und Koordination von Clustern abgestimmt werden. Dataproc ist im YARN-Anwendungsmanager eingebunden, um die Verwaltung und Verwendung der Cluster zu vereinfachen.

Welche Arten von Jobs kann ich ausführen?

Dataproc bietet Out-of-the-Box- und End-to-End-Unterstützung für viele der beliebtesten Jobtypen, einschließlich Spark-, Spark SQL-, PySpark-, MapReduce-, Hive- und Pig-Jobs.

Welchen Clustermanager verwendet Dataproc mit Spark?

Dataproc führt Spark unter YARN aus.

Wie oft werden die Komponenten in Dataproc aktualisiert?

Dataproc wird aktualisiert, wenn für zugrunde liegende Komponenten (Hadoop, Spark, Hive, Pig) neue Hauptversionen veröffentlicht werden. Jede Hauptversion von Dataproc unterstützt bestimmte Versionen der einzelnen Komponenten (siehe Unterstützte Dataproc-Versionen).

Ist Dataproc in andere Google Cloud Platform-Produkte eingebunden?

Ja, Dataproc ist auf native und automatische Weise in Compute Engine, Cloud Storage, Bigtable, BigQuery, Logging und Cloud Monitoring eingebunden. Darüber hinaus ist Dataproc in Tools eingebunden, die mit der Cloud Platform interagieren, darunter das Cloud SDK und die Google Cloud Console.

Kann ich einen persistenten Cluster ausführen?

Dataproc-Cluster werden nach ihrem Start so lange ausgeführt, bis sie heruntergefahren werden. Sie können einen Dataproc-Cluster so lange wie nötig ausführen.

Clusterverwaltung

Kann ich mehrere Cluster gleichzeitig ausführen?

Ja, Sie können mehrere Dataproc-Cluster pro Projekt gleichzeitig ausführen. Standardmäßig unterliegen alle Projekte Google Cloud-Ressourcenkontingenten. Sie können aber auf einfache Weise die Nutzung Ihres Kontingents prüfen und eine Erhöhung anfordern. Weitere Informationen finden Sie unter Dataproc-Ressourcenkontingente.

Wie kann ich einen Cluster erstellen oder löschen?

Es gibt verschiedene Möglichkeiten, um Cluster zu erstellen und zu löschen. In den Dataproc-Bereichen der Google Cloud Console können Sie Cluster ganz einfach über Ihren Browser verwalten. Cluster lassen sich auch über die Befehlszeile mit dem Cloud SDK verwalten. Bei komplexeren oder erweiterten Anwendungsfällen kann die Cloud Dataproc REST API zur programmatischen Verwaltung von Clustern verwendet werden.

Kann ich beim Erstellen eines Clusters benutzerdefinierte Einstellungen vornehmen?

Cloud Dataproc unterstützt Initialisierungsaktionen, die beim Erstellen von Clustern ausgeführt werden. Bei diesen Initialisierungsaktionen kann es sich um Skripts oder ausführbare Dateien handeln, die Dataproc bei der Bereitstellung des Clusters ausführt, um Einstellungen anzupassen, Anwendungen zu installieren oder sonstige Änderungen am Cluster vorzunehmen.

Wie kann ich die Größe des Clusters an meine Anforderungen anpassen?

Entscheidungen bezüglich der Clustergröße hängen von verschiedenen Faktoren wie auszuführende Aufgaben, Kostenbeschränkungen, Geschwindigkeitsanforderungen und Ressourcenkontingente ab. Da Dataproc auf einer Vielzahl von Maschinentypen bereitgestellt werden kann, sind Sie in der Lage, die benötigten Ressourcen jederzeit flexibel auszuwählen.

Kann ich die Größe des Clusters anpassen?

Ja, die Größe des Clusters lässt sich auch während der Jobverarbeitung mühelos anpassen. Sie können die Größe des Clusters über die Google Cloud Console oder über die Befehlszeile ändern. Durch die Anpassung der Größe erhöht bzw. verringert sich die Anzahl der Worker im Cluster möglicherweise. Einem Cluster hinzugefügte Worker haben den gleichen Typ und die gleiche Größe wie bestehende Worker. Die Anpassung der Clustergröße wird bis auf Ausnahmen wie die Folgenden akzeptiert und unterstützt: Reduzieren der Anzahl der Worker auf "1" oder Reduzieren der HDFS-Kapazität auf einen Wert, der unterhalb des für den Abschluss des Jobs erforderlichen Betrags liegt.

Job- und Workflow-Verwaltung

Wie kann ich Jobs im Cluster senden?

Es gibt verschiedene Möglichkeiten, um Jobs in einem Dataproc-Cluster zu senden. Am einfachsten ist es, die Dataproc-Seite Job senden in der Google Cloud Console oder den Cloud SDK-Befehl gcloud dataproc jobs submit zu verwenden. Informationen zur programmatischen Jobübermittlung finden Sie in der Dataproc API-Referenz.

Kann ich mehrere Jobs gleichzeitig ausführen?

Ja, Sie können in einem Dataproc-Cluster mehrere Jobs gleichzeitig ausführen. Cloud Dataproc nutzt einen Ressourcenmanager (YARN) und anwendungsspezifische Konfigurationen wie die Skalierung mit Spark, um die Verwendung von Ressourcen im Cluster zu optimieren. Die Skalierung der Jobleistung erfolgt entsprechend der Clustergröße und Anzahl aktiver Jobs.

Kann ich im Cluster ausgeführte Jobs abbrechen?

Ja, Jobs können über die Google Cloud Console-Weboberfläche oder die Befehlszeile abgebrochen werden. Dataproc nutzt die Abbruchfunktion der YARN-Anwendung, um Jobs auf Anfrage abzubrechen.

Kann ich Jobs im Cluster automatisieren?

Es gibt verschiedene Möglichkeiten, um Jobs so einzustellen, dass sie automatisch auf dem Cluster ausgeführt werden. So können Sie mit dem gcloud-Befehlszeilentool des Cloud SDK oder mit den REST APIs von Dataproc die Verwaltung und den Workflow von Clustern und Jobs automatisieren.

Entwicklung

Welche Entwicklungssprachen werden unterstützt?

Sie können die von Spark/Hadoop unterstützten Sprachen wie Java, Scala, Python und R verwenden.

Hat Dataproc eine API?

Ja, Dataproc bietet eine Reihe von RESTful APIs, mit denen Sie programmatisch mit Clustern und Jobs interagieren können.

Kann ich eine SSH-Verbindung zum Cluster herstellen?

Ja, Sie können eine SSH-Verbindung zu jeder Maschine (Master- oder Worker-Knoten) in einem Cluster herstellen. Sie können eine SSH-Verbindung über einen Browser oder die Befehlszeile herstellen.

Habe ich Zugriff auf die Webbenutzeroberflächen von Hadoop/Spark?

Ja, die Hadoop- und Spark-Benutzeroberflächen (Spark, Hadoop, YARN) können über einen Cluster aufgerufen werden. Statt Ports für die Weboberflächen zu öffnen, empfehlen wir die Verwendung eines SSH-Tunnels, der den Traffic sicher vom Cluster über die SSH-Verbindung weiterleitet.

Kann ich Software auf dem Cluster installieren oder verwenden?

Ja, wie auch bei Hadoop-Clustern oder -Servern können Sie Software auf einem Dataproc-Cluster installieren und verwalten.

Wie lautet der Standard-Replikationsfaktor?

Aufgrund von Leistungsaspekten und der hohen Zuverlässigkeit des an Dataproc-Clustern angehängten Speichers ist der Standard-Replikationsfaktor auf 2 eingestellt.

Welches Betriebssystem (OS) wird für Dataproc verwendet?

Dataproc basiert auf Debian. Die neuesten Images basieren auf Debian 9 Stretch.

Wo erhalte ich Informationen über Hadoop-Streaming?

Lesen Sie die Projektdokumentation zu Apache (nur auf Englisch verfügbar).

Wie installiere ich den Befehl "gcloud dataproc"?

Beim Installieren des Cloud SDK wird automatisch das standardmäßige gcloud-Befehlszeilentool installiert, einschließlich der gcloud dataproc-Befehle.

Datenzugriff und -verfügbarkeit

Wie kann ich Daten einem Cluster hinzufügen und daraus entfernen?

Dataproc nutzt das Hadoop Distributed File System (HDFS) als Speicher. Darüber hinaus installiert Dataproc automatisch den HDFS-kompatiblen Google Cloud Storage-Connector, der die gleichzeitige Verwendung von Cloud Storage und HDFS ermöglicht. Daten können dem Cluster über die Upload-/Download-Funktion in HDFS oder Cloud Storage hinzugefügt bzw. daraus entfernt werden.

Kann ich Cloud Storage mit Dataproc verwenden?

Ja, Dataproc-Cluster installieren automatisch den Cloud Storage-Connector. Die Verwendung von Cloud Storage statt des herkömmlichen HDFS bietet eine Vielzahl von Vorteilen, u. a. erhöhte Datenpersistenz, Zuverlässigkeit und Leistung.

Gibt es einen Support für den Cloud Storage-Connector?

Ja, bei Verwendung mit Dataproc erhalten Sie für den Cloud Storage-Connector den gleichen Support wie für Dataproc (siehe Support). Alle Connector-Nutzer können das Tag google-cloud-dataproc auf Stack Overflow für Fragen und Antworten zu Connectors verwenden.

Wie zuverlässig ist Dataproc?

Dataproc basiert auf zuverlässigen und bewährten Google Cloud Platform-Technologien wie Compute Engine, Cloud Storage und Monitoring und ist somit auf Hochverfügbarkeit und Zuverlässigkeit ausgelegt. Da es sich um ein allgemein verfügbares Produkt handelt, gilt das Dataproc-SLA.

Was geschieht mit meinen Daten, wenn ein Cluster heruntergefahren wird?

Alle in Cloud Storage gespeicherten Daten werden beibehalten, nachdem der Cluster heruntergefahren wurde. Dies ist einer der Gründe, die für Cloud Storage gegenüber HDFS sprechen, da HDFS-Daten beim Herunterfahren des Clusters entfernt werden. (Es sei denn, der Cluster wird vor dem Herunterfahren an einen nichtflüchtigen Speicherort übertragen.)

Logging, Monitoring und Fehlerbehebung

Welche Arten von Logging und Monitoring sind verfügbar?

Standardmäßig sind Dataproc-Cluster in Monitoring und Logging eingebunden. Dank Monitoring und Logging ist es einfach, detaillierte Informationen zum Zustand, zur Leistung und zum Status Ihrer Dataproc-Cluster zu erhalten. Sowohl Anwendungslogs (YARN, Spark usw.) als auch Systemlogs werden an Logging weitergeleitet.

Wie kann ich Logs aus Dataproc abrufen?

Es gibt verschiedene Möglichkeiten, um Logs aus Dataproc abzurufen. Wechseln Sie zu Logging, um zusammengefasste Clusterlogs in einem Webbrowser anzuzeigen. Darüber hinaus können Sie die Befehlszeile (SSH) verwenden, um Logs manuell anzuzeigen oder die Ausgabe der Anwendungen zu überwachen. Sie können Informationen auch über die Web-Benutzeroberflächen der Hadoop-Anwendung wie YARN abrufen.

Wie können Cluster überwacht werden?

Cluster können ganz einfach über Monitoring oder den Cloud Dataproc-Bereich der Google Cloud Console im Blick behalten werden. Sie können Cluster auch über die Befehlszeile (SSH) oder die Webbenutzeroberflächen der Anwendung (Spark, YARN usw.) überwachen.

Sicherheit und Zugriff

Wie werden meine Daten gesichert?

Google Cloud Platform verwendet ein komplexes Sicherheitsmodell, das auch für Cloud Dataproc eingesetzt wird. Dataproc bietet Authentifizierungs-, Autorisierungs- und Verschlüsselungsmechanismen wie SSL zum Sichern von Daten. Daten können vom Nutzer bei der Clustererstellung und Jobübermittlung auf dem Weg zum und vom Cluster verschlüsselt werden.

Wie kann ich den Zugriff auf meinen Dataproc-Cluster steuern?

Die Google Cloud Platform bietet Authentifizierungsmechanismen, die mit Dataproc verwendet werden können. Zugriff auf Dataproc-Cluster und -Jobs kann Nutzern auf Projektebene erteilt werden.

Abrechnung

Wie wird Dataproc abgerechnet?

Dataproc wird im Sekundentakt abhängig von der Größe eines Clusters und seiner Betriebsdauer abgerechnet. Für die Berechnung des Clusteranteils wird von Dataproc eine Pauschalgebühr in Rechnung gestellt, die auf der Anzahl virtueller CPUs (vCPUs) im Cluster basiert. Diese Pauschalgebühr ist unabhängig vom verwendeten Maschinentyp oder der Größe der Compute Engine-Ressourcen immer gleich.

Wird die Nutzung anderer Google Cloud-Ressourcen berechnet?

Ja, beim Ausführen eines Dataproc-Clusters fallen Gebühren für andere im Cluster verwendete Google Cloud-Ressourcen an, beispielsweise für Compute Engine und Cloud Storage. Jedes Element wird in der Rechnung einzeln aufgeführt, sodass Sie genau nachvollziehen können, wie die Kosten berechnet und zugeordnet wurden.

Gibt es einen Mindest- oder Höchstzeitraum für die Abrechnung?

Google Cloud-Gebühren werden pro Sekunde, nicht pro Stunde berechnet. Derzeit besteht für Compute Engine eine Mindestabrechnungseinheit von einer Minute. Für Dataproc wird demnach ebenfalls mindestens eine Minute berechnet.

Verfügbarkeit

Wer kann Dataproc-Cluster erstellen?

Dataproc ist allgemein verfügbar und kann somit von allen Kunden der Google Cloud Platform verwendet werden.

In welchen Regionen ist Dataproc verfügbar?

Dataproc ist in allen Regionen und Zonen der Google Cloud Platform verfügbar.