Dataproc Hub è un server JupyterHub personalizzato. Gli amministratori configurano e creano istanze di Dataproc Hub in grado di generare cluster di Dataproc singoli utenti per ospitare gli ambienti di blocchi note Jupyter e JupyterLab (vedi Utilizzare Dataproc Hub).
Avvia i blocchi note 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 blocchi note a più utenti.
Obiettivi
Definisci una configurazione del cluster Dataproc (o utilizza uno dei file di configurazione predefiniti).
Imposta le variabili di ambiente dell'istanza Dataproc Hub.
Creare un'istanza di Dataproc Hub.
Prima di iniziare
Se non lo hai già fatto, crea un progetto Google Cloud e un bucket Cloud Storage.
Configurazione del progetto
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API Dataproc, Compute Engine, and Cloud Storage.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API Dataproc, Compute Engine, and Cloud Storage.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
Crea un bucket di Cloud Storage nel tuo progetto per conservare i dati utilizzati in questo tutorial.
- Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.
- Fai clic su Crea bucket.
- Nella pagina Crea un bucket, inserisci le informazioni del bucket. Per andare al passaggio successivo, fai clic su Continua.
- In Assegna un nome al bucket, inserisci un nome che soddisfi i requisiti di denominazione dei bucket.
-
Per Scegli dove archiviare i tuoi dati, segui questi passaggi:
- Seleziona un'opzione Tipo di località.
- Seleziona un'opzione Località.
- In Scegli una classe di archiviazione predefinita per i dati, seleziona una classe di archiviazione.
- Per Scegli come controllare l'accesso agli oggetti, seleziona un'opzione Controllo dell'accesso.
- In Impostazioni avanzate (facoltative), specifica un metodo di crittografia, un criterio di conservazione o le etichette dei bucket.
- Fai clic su Crea.
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 1.4.13 o successiva. Il tentativo di generare un cluster con una versione dell'immagine precedente alla 1.4.13 causerà un errore e non riuscirà.
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 la possibilità di scegliere quando utilizzano Dataproc Hub per creare l'ambiente blocco note del cluster Dataproc.
Esistono due modi per creare un file di configurazione del cluster YAML:
Crea il file di configurazione del cluster YAML dalla console
Esportare un file di configurazione del cluster YAML da un cluster esistente
Crea il 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 generato da Dataproc Hub per gli utenti.
- Nella parte inferiore del riquadro a sinistra, seleziona "REST equivalente".
- Copia il blocco JSON generato, escludendo la riga di richiesta POST principale, quindi incolla il blocco JSON in un convertitore da JSON a YAML online (cerca "Converti JSON in YAML").
- Copia il file YAML convertito in un file cluster-config-filename.yaml locale.
Esporta un file di configurazione del cluster YAML da un cluster esistente
- Crea un cluster che corrisponda ai tuoi requisiti.
- 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 bucket Cloud Storage.
gsutil cp cluster-config-filename.yaml gs://bucket-name/
Imposta 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 blocchi note dell'utente. Il prefisso "gs://" è facoltativo. Predefinito: il bucket gestione temporanea Dataproc. | gs://bucket-name/ |
DATAPROC_CONFIGS | Elenco delimitato da virgole di stringhe dei percorsi Cloud Storage dei file di configurazione dei cluster YAML. Il prefisso "gs://" è facoltativo. Predefinita: 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 | 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 cluster Dataproc. Predefinito: "b". | b, c e d |
DATAPROC_DEFAULT_SUBNET | Subnet su cui un'istanza di Dataproc Hub genererà cluster di Dataproc. Predefinito:la subnet dell'istanza di Dataproc Hub. | https://www.googleapis.com/compute/v1/projects/project-id/regions/region/subnetworks/subnet-name |
DATAPROC_SERVICE_ACCOUNT | Account di servizio che verrà utilizzato dalle VM Dataproc. Predefinito: se non viene configurato, viene utilizzato l'account di servizio Dataproc predefinito. | service-account@project-id.iam.gserviceaccount.com |
SPAWNER_DEFAULT_URL | Indica se mostrare la UI Jupyter o JupyterLab sui cluster Dataproc generati per impostazione predefinita. Predefinita: "/lab". | "/" o "/lab", rispettivamente per Jupyter o JupyterLab. |
DATAPROC_ALLOW_CUSTOM_CLUSTERS | Specifica se consentire agli utenti di personalizzare i cluster Dataproc. Predefinita: false. | "true" o "false" |
DATAPROC_MACHINE_TYPES_LIST | Elenco di tipi di macchine che gli utenti possono scegliere per i cluster Dataproc generati, se la personalizzazione del cluster (DATAPROC_ALLOW_CUSTOM_CLUSTERS) è abilitata. Predefinito:vuoto (sono consentiti tutti i tipi di macchina). | n1-standard-4,n1-standard-8,e2-standard-4,n1-highcpu-4 |
NOTEBOOKS_EXAMPLES_LOCATION | Percorso Cloud Storage del bucket o della cartella del bucket dei blocchi note da scaricare nel cluster Dataproc generato all'avvio del cluster. Predefinito:vuoto. | gs://bucket-name/ |
Impostazione delle variabili di ambiente dell'hub
Esistono due modi per impostare le variabili di ambiente dell'hub:
Imposta le variabili di ambiente dell'hub dalla console
Quando crei un'istanza Dataproc Hub dalla scheda Blocchi note gestiti dall'utente nella pagina Dataproc→Workbench nella console Google Cloud, puoi fare clic sul pulsante Compilazione per aprire un modulo Compila Dataproc Hub che ti consenta di impostare ogni variabile di ambiente.
Imposta le variabili di ambiente dell'hub in un file di testo
Crea il file. Puoi usare un editor di testo per impostare le variabili di ambiente dell'istanza Dataproc in un file locale. In alternativa, puoi creare il file eseguendo questo 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 locali nel tuo bucket Cloud Storage.
gsutil 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 capacità:
- Amministratore: crea un'istanza Dataproc Hub
- Utente 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 eseguire le attività associate. La tabella seguente riassume i ruoli e le autorizzazioni IAM richiesti per ogni identità.
Identità | Tipo | Ruolo o autorizzazione |
---|---|---|
Amministratore Dataproc Hub | Account utente o di servizio | roles/notebooks.admin |
Utente Dataproc Hub | Utente | notebooks.instances.use, dataproc.clusters.use |
Dataproc Hub | Account di servizio | roles/dataproc.hubAgent |
Dataproc | Account di servizio | roles/dataproc.worker |
Crea un'istanza Dataproc Hub
Prima di iniziare: per creare un'istanza Dataproc Hub dalla console Google Cloud, il tuo account utente deve disporre dell'autorizzazione
compute.instances.create
. Inoltre, l'account di servizio dell'istanza, ovvero l'account di servizio predefinito di Compute Engine o l'account di servizio specificato dall'utente elencato in IAM e amministrazione > Account di servizio (vedi Account di servizio VM Dataproc), deve avere l'autorizzazioneiam.serviceAccounts.actAs
.Vai alla pagina Dataproc→Workbench nella console Google Cloud, quindi seleziona la scheda Blocchi note gestiti dall'utente.
Se non è preselezionato come filtro, fai clic nella casella Filtro, poi seleziona **Ambiente:Dataproc Hub"".
Fai clic su Nuovo blocco note→Dataproc Hub.
Nella pagina Crea un blocco note gestito dall'utente, fornisci le seguenti informazioni:
- Nome blocco note: nome dell'istanza Dataproc Hub.
- Regione: seleziona una regione per l'istanza di 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 sfogliare e 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 consenta di impostare ogni variabile di ambiente dell'hub (consulta Impostare le variabili di ambiente dell'istanza Dataproc Hub per una descrizione di ogni variabile). Dataproc usa i valori predefiniti per qualsiasi variabile di ambiente non impostata. In alternativa, puoi impostare le coppie Metadatikey:value
per impostare le variabili di ambiente (vedi l'elemento successivo).Metadata
:- Se hai creato un file di testo che contiene le impostazioni delle variabile di ambiente dell'hub (consulta la sezione Impostazione delle variabili di ambiente dell'hub), specifica come nome del file
key
e come percorso Cloud Storagegs://bucket-name/folder-name/environment-variable-filename
comevalue
. Dataproc usa i valori predefiniti per tutte le variabili di ambiente non impostate.
- Se hai creato un file di testo che contiene le impostazioni delle variabile di ambiente dell'hub (consulta la sezione Impostazione delle variabili di ambiente dell'hub), specifica come nome del file
- Configurazione macchina:
Machine Type
: seleziona il tipo di macchina Compute Engine.- Imposta altre opzioni di configurazione della macchina.
- Altre opzioni:
- Puoi espandere e impostare o sostituire i valori predefiniti nelle sezioni Dischi, Networking, Autorizzazione, Sicurezza e Upgrade dell'ambiente e integrità del sistema.
- Fai clic su Crea per avviare l'istanza di Dataproc Hub.
Il link Apri JupyterLab per l'istanza di 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 (consulta Utilizzare Dataproc Hub).
Esegui la pulizia
Elimina l'istanza di Dataproc Hub
- Per eliminare l'istanza di Dataproc Hub:
gcloud compute instances delete --project=${PROJECT} ${INSTANCE_NAME}
Elimina il bucket
- Per eliminare il bucket Cloud Storage creato in
Prima di iniziare, inclusi i file di dati
archiviati nel bucket:
gsutil -m rm -r gs://${BUCKET_NAME}