Dataproc Hub ist ein benutzerdefinierter JupyterHub-Server. Administratoren konfigurieren und erstellen Dataproc Hub-Instanzen, die Dataproc-Cluster für einzelne Nutzer zum Hosten von Jupyter- und JupyterLab-Notebook-Umgebungen erstellen können (siehe Dataproc Hub verwenden).
Notebooks für mehrere Nutzer starten: Sie können eine Vertex AI Workbench-Instanz mit aktivierter Dataproc-Unterstützung erstellen oder das Dataproc JupyterLab-Plug-in auf einer VM installieren, um Notebooks für mehrere Nutzer bereitzustellen.
Ziele
Definieren Sie eine Dataproc-Clusterkonfiguration (oder verwenden Sie eine der vordefinierten Konfigurationsdateien).
Umgebungsvariablen der Dataproc Hub-Instanz festlegen
Dataproc Hub-Instanz erstellen
Hinweis
Erstellen Sie ein Google Cloud -Projekt und einen Cloud Storage-Bucket, falls noch nicht geschehen.
Projekt einrichten
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Dataproc, Compute Engine, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Dataproc, Compute Engine, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
Cloud Storage-Bucket im Projekt für die in dieser Anleitung verwendeten Daten erstellen
- Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.
- Klicken Sie auf Erstellen.
- Geben Sie auf der Seite Bucket erstellen die Bucket-Informationen ein. Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.
-
Führen Sie im Abschnitt Einstieg die folgenden Schritte aus:
- Geben Sie einen global eindeutigen Namen ein, der den Anforderungen für Bucket-Namen entspricht.
- So fügen Sie ein Bucket-Label hinzu: Maximieren Sie den Abschnitt Labels (), klicken Sie auf add_box
Label hinzufügen und geben Sie
keyundvaluefür Ihr Label an.
-
Gehen Sie im Bereich Speicherort für Daten auswählen so vor:
- Standorttyp auswählen.
- Wählen Sie im Drop-down-Menü Standorttyp einen Standort aus, an dem die Daten Ihres Buckets dauerhaft gespeichert werden.
- Wenn Sie den Standorttyp Dual-Region auswählen, können Sie auch die Turboreplikation aktivieren, indem Sie das entsprechende Kästchen anklicken.
- Wenn Sie die Bucket-übergreifende Replikation einrichten möchten, wählen Sie Bucket-übergreifende Replikation über Storage Transfer Service hinzufügen aus und führen Sie die folgenden Schritte aus:
Bucket-übergreifende Replikation einrichten
- Wählen Sie im Menü Bucket einen Bucket aus.
Klicken Sie im Bereich Replikationseinstellungen auf Konfigurieren, um die Einstellungen für den Replikationsjob zu konfigurieren.
Der Bereich Bucket-übergreifende Replikation konfigurieren wird angezeigt.
- Wenn Sie die zu replizierenden Objekte nach dem Objektnamenspräfix filtern möchten, geben Sie ein Präfix ein, mit dem Sie Objekte ein- oder ausschließen möchten, und klicken Sie dann auf Präfix hinzufügen.
- Wenn Sie eine Speicherklasse für die replizierten Objekte festlegen möchten, wählen Sie im Menü Speicherklasse eine Speicherklasse aus. Wenn Sie diesen Schritt überspringen, wird für replizierte Objekte standardmäßig die Speicherklasse des Ziel-Buckets verwendet.
- Klicken Sie auf Fertig.
-
Gehen Sie im Bereich Speicherort für Daten auswählen so vor:
- Wählen Sie eine Standardspeicherklasse für den Bucket oder Autoclass für die automatische Speicherklassenverwaltung der Daten Ihres Buckets aus.
- Wenn Sie den hierarchischen Namespace aktivieren möchten, wählen Sie im Bereich Speicher für datenintensive Arbeitslasten optimieren die Option Hierarchischen Namespace für diesen Bucket aktivieren aus.
- Wählen Sie im Abschnitt Zugriff auf Objekte steuern aus, ob der Bucket Verhinderung des öffentlichen Zugriffs durchsetzt, und wählen Sie eine Zugriffssteuerungsmethode für die Objekte Ihres Buckets aus.
-
Führen Sie im Bereich Auswählen, wie Objektdaten geschützt werden die folgenden Schritte aus:
- Wählen Sie unter Datenschutz die gewünschten Optionen für Ihren Bucket aus.
- Wenn Sie Vorläufiges Löschen aktivieren möchten, klicken Sie das Kästchen Richtlinie für vorläufiges Löschen (zur Datenwiederherstellung) an und geben Sie die Anzahl der Tage an, die Objekte nach dem Löschen beibehalten werden sollen.
- Wenn Sie die Objektversionsverwaltung festlegen möchten, klicken Sie das Kästchen Objektversionsverwaltung (zur Datenwiederherstellung) an und geben Sie die maximale Anzahl von Versionen pro Objekt und die Anzahl der Tage an, nach denen die nicht aktuellen Versionen ablaufen.
- Klicken Sie das Kästchen Aufbewahrung (für Compliance) an, um die Aufbewahrungsrichtlinie für Objekte und Buckets zu aktivieren, und gehen Sie dann so vor:
- Klicken Sie auf das Kästchen Objektaufbewahrung aktivieren, um die Objektaufbewahrungssperre zu aktivieren.
- Wenn Sie Bucket Lock aktivieren möchten, klicken Sie das Kästchen Bucket-Aufbewahrungsrichtlinie festlegen an und wählen Sie eine Zeiteinheit und eine Zeitdauer für die Aufbewahrungsdauer aus.
- Um auszuwählen, wie Ihre Objektdaten verschlüsselt werden, maximieren Sie den Bereich Datenverschlüsselung () und wählen Sie eine Methode für die Datenverschlüsselung aus.
- Wählen Sie unter Datenschutz die gewünschten Optionen für Ihren Bucket aus.
-
Führen Sie im Abschnitt Einstieg die folgenden Schritte aus:
- Klicken Sie auf Erstellen.
Clusterkonfiguration definieren
Eine Dataproc Hub-Instanz erstellt einen Cluster auf Basis der in einer YAML-Cluster-Konfigurationsdatei enthaltenen Konfigurationswerte.
In der Clusterkonfiguration können alle für Dataproc-Cluster verfügbaren Funktionen oder Komponenten angegeben werden, z. B. der Maschinentyp, Initialisierungsaktionen und optionale Komponenten. Die Version des Cluster-Images muss mindestens 1.4.13 oder höher sein. Der Versuch, einen Cluster mit einer Image-Version unter 1.4.13 zu erzeugen, führt zu einem Fehler und schlägt fehl.
YAML-Beispiel-Clusterkonfigurationsdatei
clusterName: cluster-name
config:
softwareConfig:
imageVersion: 2.2-ubuntu22
optionalComponents:
- JUPYTER
Jede Konfiguration muss in Cloud Storage gespeichert werden. Sie können mehrere Konfigurationsdateien erstellen und speichern, um Nutzern die Wahl zu geben, wenn sie Dataproc Hub verwenden, um die Dataproc-Cluster-Notebookumgebung zu erstellen.
Es gibt zwei Möglichkeiten, eine YAML-Clusterkonfigurationsdatei zu erstellen:
YAML-Cluster-Konfigurationsdatei über die Console erstellen
- Öffnen Sie die Seite Cluster erstellen in der Google Cloud Console und wählen und füllen Sie die Felder aus, um den Clustertyp anzugeben, den der Dataproc Hub für Nutzer erzeugt.
- Wählen Sie unten im linken Bereich „REST-Äquivalent“ aus.
- Kopieren Sie den generierten JSON-Block ohne die führende POST-Anfragezeile und fügen Sie dann den JSON-Block in einen Online-JSON-to-YAML-Converter ein. Suchen Sie online hierfür nach „JSON in YAML konvertieren”.
- Kopieren Sie die konvertierte YAML-Datei in eine lokale cluster-config-filename.yaml-Datei.
YAML-Cluster-Konfigurationsdatei aus einem vorhandenen Cluster erstellen
- Erstellen Sie einen Cluster, der Ihren Anforderungen entspricht.
- Exportieren Sie die Clusterkonfiguration in eine lokale cluster-config-filename.yaml-Datei.
gcloud dataproc clusters export cluster-name \ --destination cluster-config-filename.yaml \ --region region
YAML-Konfigurationsdatei in Cloud Storage speichern
Kopieren Sie die lokale YAML-Clusterkonfigurationsdatei in den Cloud Storage-Bucket.
gcloud storage cp cluster-config-filename.yaml gs://bucket-name/
Umgebungsvariablen der Dataproc Hub-Instanz festlegen
Der Administrator kann die in der folgenden Tabelle aufgeführten Hub-Umgebungsvariablen festlegen, um Attribute der Dataproc-Cluster festzulegen, die von Hub-Nutzern generiert werden.
| Variable | Beschreibung | Beispiel |
|---|---|---|
| NOTEBOOKS_LOCATION | Cloud Storage-Bucket oder Bucket-Ordner, der Nutzer-Notebooks enthält. Das Präfix „gs://” ist optional. Standard: Der Dataproc-Staging-Bucket. | gs://bucket-name/ |
| DATAPROC_CONFIGS | Durch Kommas getrennte Liste von Strings der Cloud Storage-Pfade zu YAML-Cluster-Konfigurationsdateien. Das Präfix „gs://” ist optional. Standard: gs://dataproc-spawner-dist/example-configs/. Enthält die vordefinierte example-cluster.yaml und example-single-node.yaml.
|
gs://cluster-config-filename.yaml |
| DATAPROC_LOCATIONS_LIST | Zonensuffixe in der Region, in der sich die Dataproc Hub-Instanz befindet. Nutzer können eine dieser Zonen als Zone auswählen, in der ihr Dataproc-Cluster erstellt wird. Standard: „b”. | b, c, d |
| DATAPROC_DEFAULT_SUBNET | Subnetz, in dem die Dataproc Hub-Instanz Dataproc-Cluster erzeugt. Standard: Das Subnetz der Dataproc Hub-Instanz. | https://www.googleapis.com/compute/v1/projects/project-id/regions/region/subnetworks/subnet-name |
| DATAPROC_SERVICE_ACCOUNT | Dienstkonto, in dem Dataproc-VMs ausgeführt werden. Standardeinstellung: Wenn nicht festgelegt, wird das Standard-Dataproc-Dienstkonto verwendet. | service-account@project-id.iam.gserviceaccount.com |
| SPAWNER_DEFAULT_URL | Gibt an, ob die Jupyter- oder JupyterLab-UI auf generierten Dataproc-Clustern standardmäßig angezeigt werden soll. Standard: „/lab”. | „/” oder „/lab” für Jupyter bzw. JupyterLab. |
| DATAPROC_ALLOW_CUSTOM_CLUSTERS | Gibt an, ob Nutzer ihre Dataproc-Cluster anpassen können. Standard: false. | „true” oder „false” |
| DATAPROC_MACHINE_TYPES_LIST | Liste der Maschinentypen, die Nutzer für erstellte Dataproc-Cluster auswählen können, wenn die Clusteranpassung (DATAPROC_ALLOW_CUSTOM_CLUSTERS) aktiviert ist. Standard: Leer (alle Maschinentypen sind zulässig). | n1-standard-4,n1-standard-8,e2-standard-4,n1-highcpu-4 |
| NOTEBOOKS_EXAMPLES_LOCATION | Cloud Storage-Pfad zum Notebooks-Bucket oder Bucket-Ordner, der beim Start des Clusters in den generierten Dataproc-Cluster heruntergeladen werden soll. Standard: leer. | gs://bucket-name/ |
Hub-Umgebungsvariablen festlegen
Es gibt zwei Möglichkeiten, Hub-Umgebungsvariablen festzulegen:
Hub-Umgebungsvariablen über die Console festlegen
Wenn Sie eine Dataproc Hub-Instanz über den Tab User-Managed Notebooks auf der Seite Dataproc→Workbench in der Google Cloud -Konsole erstellen, können Sie auf die Schaltfläche Ausfüllen klicken, um das Formular Dataproc Hub ausfüllen zu öffnen, mit dem Sie jede Umgebungsvariable festlegen können.
Hub-Umgebungsvariablen in einer Textdatei festlegen
Erstellen Sie die Datei. Sie können die Umgebungsvariablen der Dataproc Hub-Instanz in einem Texteditor in einem lokalen Editor festlegen. Alternativ können Sie die Datei erstellen, indem Sie den folgenden Befehl ausführen, nachdem Sie Platzhalterwerte eingegeben und Variablen oder deren Werte geändert oder hinzugefügt haben.
cat <<EOF > environment-variables-file DATAPROC_CONFIGS=gs://bucket/cluster-config-filename.yaml NOTEBOOKS_LOCATION=gs://bucket/notebooks DATAPROC_LOCATIONS_LIST=b,c EOF
Speichern Sie die Datei in Cloud Storage. Kopieren Sie die lokale Umgebungsvariablen aus der Dataproc Hub-Instanz in Ihren Cloud Storage-Bucket.
gcloud storage cp environment-variable-filename gs://bucket-name/folder-name/
IAM-Rollen (Identity and Access Management) festlegen
Dataproc Hub enthält die folgenden Identitäten mit den folgenden Funktionen:
- Administrator: Dataproc-Hub-Instanz wird erstellt
- Daten- und ML-Nutzer: Zugriff auf die Dataproc-Hub-UI
- Dataproc Hub-Dienstkonto: steht für Dataproc Hub
- Dataproc-Dienstkonto: stellt den Dataproc-Cluster dar, der von Dataproc Hub erstellt wird.
Jede Identität benötigt bestimmte Rollen oder Berechtigungen, um die zugehörigen Aufgaben auszuführen. In der folgenden Tabelle sind die IAM-Rollen und -Berechtigungen der einzelnen Identitäten zusammengefasst.
| Identität | Typ | Rolle oder Berechtigung |
|---|---|---|
| Dataproc Hub-Administrator | Nutzer- oder Dienstkonto | roles/notebooks.admin |
| Dataproc Hub-Nutzer | Nutzer | notebooks.instances.use, dataproc.clusters.use |
| Dataproc-Hub | Dienstkonto | roles/dataproc.hubAgent |
| Dataproc | Dienstkonto | roles/dataproc.worker |
Dataproc Hub-Instanz erstellen
Vorbereitung: Zum Erstellen einer Dataproc Hub-Instanz über die Google Cloud -Konsole muss Ihr Nutzerkonto die Berechtigung
compute.instances.createhaben. Außerdem das Dienstkonto der Instanz: das Compute Engine-Standarddienstkonto oder Ihr benutzerdefiniertes Dienstkonto unter IAM & Verwaltung > Dienstkonten (siehe Dataproc-VM-Dienstkonto) – muss die Berechtigungiam.serviceAccounts.actAshaben.Rufen Sie in der Google Cloud Console die Seite Dataproc → Workbench auf und wählen Sie dann den Tab Nutzerverwaltete Notebooks aus.
Wenn es nicht bereits als Filter ausgewählt ist, klicken Sie in das Feld Filter und wählen Sie **Umgebung:Dataproc Hub"" aus.
Klicken Sie auf Neues Notebook → Dataproc Hub.
Geben Sie auf der Seite Nutzerverwaltetes Notebook erstellen die folgenden Informationen an:
- Notebook-Name: Name der Dataproc Hub-Instanz.
- Region: Wählen Sie eine Region für die Dataproc Hub-Instanz aus. Von dieser Dataproc Hub-Instanz erzeugte Dataproc-Cluster werden ebenfalls in dieser Region erstellt.
- Zone: Wählen Sie eine Zone in der ausgewählten Region aus.
- Umgebung:
Environment: Wählen SieDataproc Hubaus.Select a script to run after creation(optional): Sie können ein Initialisierungsaktions-Skript oder eine ausführbare Datei einfügen oder suchen und auswählen, die auf dem erzeugten Dataproc-Cluster ausgeführt werden soll.Populate Dataproc Hub (optional): Klicken Sie auf Populate, um ein Formular zu öffnen, mit dem Sie jede der Hub-Umgebungsvariablen festlegen können. Unter Umgebungsvariablen der Dataproc Hub-Instanz festlegen finden Sie eine Beschreibung der einzelnen Variablen. Dataproc verwendet Standardwerte für alle nicht festgelegten Umgebungsvariablen. Alternativ können Sie Metadaten-key:value-Paare festlegen, um Umgebungsvariablen festzulegen (siehe nächster Punkt).Metadata:- Wenn Sie eine Textdatei erstellt haben, die Ihre Hub-Umgebungsvariableneinstellungen enthält (siehe Hub-Umgebungsvariablen festlegen), geben Sie den Namen der Datei als
keyund den Cloud Storage-Speicherort der Datei alsvaluean.gs://bucket-name/folder-name/environment-variable-filenameDataproc verwendet Standardwerte für alle nicht festgelegten Umgebungsvariablen.
- Wenn Sie eine Textdatei erstellt haben, die Ihre Hub-Umgebungsvariableneinstellungen enthält (siehe Hub-Umgebungsvariablen festlegen), geben Sie den Namen der Datei als
- Maschinenkonfiguration:
Machine Type: Wählen Sie den Compute Engine-Maschinentyp aus.- Legen Sie weitere Optionen zur Maschinenkonfiguration fest.
- Weitere Optionen:
- Sie können Standardwerte in den Abschnitten Laufwerke, Netzwerk, Berechtigung, Sicherheit und Umgebungsupgrade und Systemzustand maximieren und festlegen oder ersetzen.
- Klicken Sie auf Erstellen, um die Dataproc Hub-Instanz zu starten.
Der Link JupyterLab öffnen für die Dataproc Hub-Instanz wird nach dem Erstellen der Instanz aktiviert. Nutzer klicken auf diesen Link, um die JupyterHub-Serverseite zu öffnen, auf der sie einen Dataproc JupyterLab-Cluster konfigurieren und erstellen können (siehe Dataproc Hub verwenden).
Bereinigen
Dataproc Hub-Instanz löschen
- So löschen Sie Ihre Dataproc Hub-Instanz:
gcloud compute instances delete --project=${PROJECT} ${INSTANCE_NAME}
Bucket löschen
- So löschen Sie den Cloud Storage-Bucket, den Sie unter Hinweise erstellt haben, einschließlich der im Bucket gespeicherten Datendateien:
gcloud storage rm gs://${BUCKET_NAME} --recursive