Dataproc Hub è un server JupyterHub personalizzato. Gli amministratori configurano e creano istanze di Dataproc Hub che possono generare cluster Dataproc per un solo utente per ospitare ambienti di notebook Jupyter e JupyterLab (consulta Utilizzare Dataproc Hub).
Lanciare Notebook per più utenti. Puoi creare un'istanza Vertex AI Workbench abilitata per Dataproc o installare il plug-in JupyterLab di Dataproc su una VM per fornire i notebook a più utenti.
Obiettivi
Definisci una configurazione del cluster Dataproc (o utilizza uno tra i file di configurazione predefiniti).
Imposta le variabili di ambiente dell'istanza Dataproc Hub.
Crea un'istanza Dataproc Hub.
Prima di iniziare
Se non l'hai ancora fatto, crea un progetto Google Cloud e un bucket Cloud Storage.
Configurazione del progetto
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataproc, Compute Engine, and Cloud Storage APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataproc, Compute Engine, and Cloud Storage APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Crea un bucket Cloud Storage nel tuo progetto per contenere i dati utilizzati in questo tutorial.
- In the Google Cloud console, go to the Cloud Storage Buckets page.
- Click Create bucket.
- On the Create a bucket page, enter your bucket information. To go to the next
step, click Continue.
- For Name your bucket, enter a name that meets the bucket naming requirements.
-
For Choose where to store your data, do the following:
- Select a Location type option.
- Select a Location option.
- For Choose a default storage class for your data, select a storage class.
- For Choose how to control access to objects, select an Access control option.
- For Advanced settings (optional), specify an encryption method, a retention policy, or bucket labels.
- Click Create.
Definisci una configurazione del cluster
Un'istanza Dataproc Hub crea un cluster dai valori di configurazione contenuti in un file di configurazione del cluster YAML.
La configurazione del cluster può specificare qualsiasi funzionalità o componente disponibile per i cluster Dataproc (ad esempio tipo di macchina, azioni di inizializzazione e componenti facoltativi). La versione dell'immagine del cluster deve essere almeno 1.4.13. Il tentativo di generare un cluster con una versione dell'immagine precedente alla 1.4.13 causerà un errore e non andrà a buon fine.
File di configurazione del cluster YAML di esempio
clusterName: cluster-name config: softwareConfig: imageVersion: 2.2-ubuntu22 optionalComponents: - JUPYTER
Ogni configurazione deve essere salvata in Cloud Storage. Puoi creare e salvare più file di configurazione per offrire agli utenti una scelta quando utilizzano Dataproc Hub per creare il proprio ambiente di notebook del cluster Dataproc.
Esistono due modi per creare un file di configurazione del cluster YAML:
Creare un file di configurazione del cluster YAML dalla console
Esportare un file di configurazione del cluster YAML da un cluster esistente
Creare un file di configurazione del cluster YAML dalla console
- Apri la pagina Crea un cluster nella console Google Cloud, quindi seleziona e compila i campi per specificare il tipo di cluster che Dataproc Hub creerà per gli utenti.
- Nella parte inferiore del riquadro di sinistra, seleziona "Equivalente REST".
- Copia il blocco JSON generato, esclusa la riga di richiesta POST iniziale, quindi incollalo in un convertitore da JSON a YAML online (cerca online "Converti JSON in YAML").
- Copia il file YAML convertito in un file cluster-config-filename.yaml locale.
Esportare un file di configurazione del cluster YAML da un cluster esistente
- Crea un cluster adatto alle tue esigenze.
- Esporta la configurazione del cluster in un file cluster-config-filename.yaml locale.
gcloud dataproc clusters export cluster-name \ --destination cluster-config-filename.yaml \ --region region
Salva il file di configurazione YAML in Cloud Storage
Copia il file di configurazione del cluster YAML locale nel tuo bucket Cloud Storage.
gcloud storage cp cluster-config-filename.yaml gs://bucket-name/
Impostare le variabili di ambiente dell'istanza Dataproc Hub
L'amministratore può impostare le variabili di ambiente dell'hub elencate nella tabella di seguito per impostare gli attributi dei cluster Dataproc che verranno generati dagli utenti dell'hub.
Variabile | Descrizione | Esempio |
---|---|---|
NOTEBOOKS_LOCATION | Bucket o cartella bucket Cloud Storage contenente i notebook dell'utente. Il prefisso "gs://" è facoltativo. Valore predefinito: il bucket di gestione temporanea di Dataproc. | gs://bucket-name/ |
DATAPROC_CONFIGS | Elenco delimitato da virgole contenente le stringhe dei percorsi Cloud Storage dei
file di configurazione del cluster YAML. Il prefisso "gs://" è facoltativo. Valore predefinito: gs://dataproc-spawner-dist/example-configs/ . che contiene example-cluster.yaml e example-single-node.yaml predefiniti.
|
gs://cluster-config-filename.yaml |
DATAPROC_LOCATIONS_LIST | I suffissi di zona nella regione in cui si trova l'istanza Dataproc Hub. Gli utenti possono selezionare una di queste zone come zona in cui verrà generato il loro cluster Dataproc. Valore predefinito: "b". | b,c,d |
DATAPROC_DEFAULT_SUBNET | Subnet su cui l'istanza Dataproc Hub genera i cluster Dataproc. Valore predefinito:la subnet dell'istanza Dataproc Hub. | https://www.googleapis.com/compute/v1/projects/project-id/regions/region/subnetworks/subnet-name |
DATAPROC_SERVICE_ACCOUNT | Account di servizio con cui verranno eseguite le VM Dataproc. Valore predefinito: se non impostato, viene utilizzato il service account Dataproc predefinito. | service-account@project-id.iam.gserviceaccount.com |
SPAWNER_DEFAULT_URL | Specifica se visualizzare la UI Jupyter o JupyterLab sui cluster Dataproc generati per impostazione predefinita. Valore predefinito: "/lab". | "/" o "/lab", rispettivamente per Jupyter o JupyterLab. |
DATAPROC_ALLOW_CUSTOM_CLUSTERS | Specifica se consentire agli utenti di personalizzare i cluster Dataproc. Valore predefinito: false. | "true" o "false" |
DATAPROC_MACHINE_TYPES_LIST | Elenco dei tipi di macchina tra cui gli utenti possono scegliere per i propri cluster Dataproc generati, se la personalizzazione dei cluster (DATAPROC_ALLOW_CUSTOM_CLUSTERS) è abilitata. Valore predefinito:vuoto (sono consentiti tutti i tipi di macchine). | n1-standard-4,n1-standard-8,e2-standard-4,n1-highcpu-4 |
NOTEBOOKS_EXAMPLES_LOCATION | Percorso Cloud Storage del bucket o della cartella bucket dei notebook da scaricare nel cluster Dataproc generato all'avvio del cluster. Valore predefinito:vuoto. | gs://bucket-name/ |
Impostazione delle variabili di ambiente dell'hub
Esistono due modi per impostare le variabili di ambiente dell'hub:
Impostare le variabili di ambiente dell'hub dalla console
Quando crei un'istanza di Dataproc Hub dalla scheda Notebook gestiti dall'utente nella pagina Dataproc→Workbench nella console Google Cloud, puoi fare clic sul pulsante Compila per aprire un modulo Compila Dataproc Hub che ti consente di impostare ogni variabile di ambiente.
Impostare le variabili di ambiente dell'hub in un file di testo
Crea il file. Puoi utilizzare un editor di testo per impostare le variabili di ambiente dell'istanza Dataproc Hub in un file locale. In alternativa, puoi creare il file eseguendo il seguente comando dopo aver inserito i valori segnaposto e aver modificato o aggiunto le variabili e i relativi valori.
cat <<EOF > environment-variables-file DATAPROC_CONFIGS=gs://bucket/cluster-config-filename.yaml NOTEBOOKS_LOCATION=gs://bucket/notebooks DATAPROC_LOCATIONS_LIST=b,c EOF
Salva il file in Cloud Storage. Copia il file delle variabili di ambiente dell'istanza Dataproc Hub locale nel tuo bucket Cloud Storage.
gcloud storage cp environment-variable-filename gs://bucket-name/folder-name/
Impostare i ruoli IAM (Identity and Access Management)
Dataproc Hub include le seguenti identità con le seguenti funzionalità:
- Amministratore: crea un'istanza Dataproc Hub
- Utente di dati e ML: accede all'interfaccia utente di Dataproc Hub
- Account di servizio Dataproc Hub: rappresenta Dataproc Hub
- Account di servizio Dataproc: rappresenta il cluster Dataproc creato da Dataproc Hub.
Ogni identità richiede ruoli o autorizzazioni specifici per svolgere le attività associate. La tabella seguente riassume i ruoli e le autorizzazioni IAM richiesti da ogni identità.
Identità | Tipo | Ruolo o autorizzazione |
---|---|---|
Amministratore di Dataproc Hub | Account utente o di servizio | roles/notebooks.admin |
Utente Dataproc Hub | Utente | notebooks.instances.use, dataproc.clusters.use |
Dataproc Hub | Service account | roles/dataproc.hubAgent |
Dataproc | Service account | roles/dataproc.worker |
Crea un'istanza Dataproc Hub
Prima di iniziare:per creare un'istanza di Dataproc Hub dalla console Google Cloud, il tuo account utente deve disporre dell'autorizzazione
compute.instances.create
. Inoltre, il service account dell'istanza, ovvero il service account predefinito di Compute Engine o il service account specificato dall'utente elencato in IAM e amministrazione > Account di servizio (vedi Service account VM Dataproc), deve disporre dell'autorizzazioneiam.serviceAccounts.actAs
.Vai alla pagina Dataproc→Workbench nella console Google Cloud e seleziona la scheda Notebook gestiti dall'utente.
Se non è preselezionato come filtro, fai clic nella casella Filtro e seleziona **Ambiente:Dataproc Hub"".
Fai clic su Nuovo blocco note→Dataproc Hub.
Nella pagina Crea un notebook gestito dall'utente, fornisci le seguenti informazioni:
- Nome del notebook: nome dell'istanza Dataproc Hub.
- Regione: seleziona una regione per l'istanza Dataproc Hub. Anche i cluster Dataproc generati da questa istanza Dataproc Hub verranno creati in questa regione.
- Zona: seleziona una zona all'interno della regione selezionata.
- Ambiente:
Environment
: selezionaDataproc Hub
.Select a script to run after creation
(facoltativo): puoi inserire o selezionare uno script o un eseguibile di azione di inizializzazione da eseguire sul cluster Dataproc generato.Populate Dataproc Hub (optional)
: fai clic su Completa per aprire un modulo che consente di impostare ciascuna delle variabili di ambiente dell'hub (consulta Impostare le variabili di ambiente dell'istanza Dataproc Hub per una descrizione di ciascuna variabile). Dataproc utilizza i valori predefiniti per le variabili di ambiente non impostate. In alternativa, puoi impostare coppie di metadatikey:value
per impostare le variabili di ambiente (vedi l'elemento successivo).Metadata
:- Se hai creato un file di testo che contiene le impostazioni variabile di ambiente dell'hub (vedi Impostare le variabili di ambiente dell'hub), fornisci il nome del file come
key
e la posizione del file in Cloud Storage comevalue
.gs://bucket-name/folder-name/environment-variable-filename
Dataproc utilizza i valori predefiniti per le eventuali variabili di ambiente non impostate.
- Se hai creato un file di testo che contiene le impostazioni variabile di ambiente dell'hub (vedi Impostare le variabili di ambiente dell'hub), fornisci il nome del file come
- Configurazione macchina:
Machine Type
: seleziona il tipo di macchina Compute Engine.- Impostare altre opzioni di configurazione della macchina.
- Altre opzioni:
- Puoi espandere e impostare o sostituire i valori predefiniti nelle sezioni Dischi, Networking, Autorizzazioni, Sicurezza e Upgrade dell'ambiente e integrità del sistema.
- Fai clic su Crea per avviare l'istanza Dataproc Hub.
Il link Apri JupyterLab per l'istanza Dataproc Hub diventa attivo dopo la creazione dell'istanza. Gli utenti fanno clic su questo link per aprire la pagina del server JupyterHub per configurare e creare un cluster JupyterLab Dataproc (vedi Utilizzare Dataproc Hub).
Esegui la pulizia
Elimina l'istanza Dataproc Hub
- Per eliminare l'istanza Dataproc Hub:
gcloud compute instances delete --project=${PROJECT} ${INSTANCE_NAME}
Elimina il bucket
- Per eliminare il bucket Cloud Storage che hai creato in Prima di iniziare, inclusi i file di dati memorizzati nel bucket:
gcloud storage rm gs://${BUCKET_NAME} --recursive