Configurazione di Dataproc Hub


Dataproc Hub è un server JupyterHub personalizzato. Gli amministratori configurano e creano istanze Dataproc Hub che possono generare utenti singoli. Cluster Dataproc per ospitare ambienti di blocchi note Jupyter e JupyterLab (vedi Utilizzo di Dataproc Hub).

Avvia Notebooks per più utenti. Puoi creare un cluster abilitato per Dataproc Istanza Vertex AI Workbench o installa il plug-in JupyterLab di Dataproc su una VM per distribuire i blocchi note a più utenti.

Obiettivi

  1. Definisci una configurazione del cluster Dataproc (o utilizzane una dei file di configurazione predefiniti).

  2. Imposta le variabili di ambiente dell'istanza Dataproc Hub.

  3. Creare un'istanza Dataproc Hub.

Prima di iniziare

Se non l'hai ancora fatto, crea un progetto Google Cloud e un bucket Cloud Storage.

  1. Configurazione del progetto

    1. 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.
    2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

    4. Abilita le API Dataproc, Compute Engine, and Cloud Storage.

      Abilita le API

    5. Install the Google Cloud CLI.
    6. To initialize the gcloud CLI, run the following command:

      gcloud init
    7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    8. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

    9. Abilita le API Dataproc, Compute Engine, and Cloud Storage.

      Abilita le API

    10. Install the Google Cloud CLI.
    11. To initialize the gcloud CLI, run the following command:

      gcloud init

  2. Creazione di un bucket Cloud Storage del progetto per conservare i dati usati in questo tutorial.

    1. Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.

      Vai alla pagina Bucket

    2. Fai clic su Crea bucket.
    3. Nella pagina Crea un bucket, inserisci le informazioni del bucket. Per andare al passaggio successivo, fai clic su Continua.
    4. 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 ai cluster Dataproc (come tipo di macchina, inizializzazione azioni e componenti facoltativi). La versione dell'immagine del cluster deve essere 1.4.13 o versioni successive. Tentativo di generazione di un cluster con una versione dell'immagine precedente 1.4.13 causerà un errore e non riuscirà.

Esempio di file di configurazione del cluster YAML

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 agli utenti una scelta quando utilizza Dataproc Hub per creare l'ambiente di blocco note del cluster Dataproc.

Esistono due modi per creare un file di configurazione del cluster YAML:

  1. Crea il file di configurazione del cluster YAML dalla console

  2. Esportare un file di configurazione del cluster YAML da un cluster esistente

crea il file di configurazione del cluster YAML dalla console

  1. Apri la pagina Crea un cluster nella console Google Cloud, quindi seleziona e compila i campi e specificare il tipo di cluster che Dataproc Hub mostrerà per gli utenti.
    1. Nella parte inferiore del riquadro a sinistra, seleziona "REST equivalente".
    2. Copia il blocco JSON generato, escludendo la riga di richiesta POST principale. quindi incolla il blocco JSON in un file JSON-to-YAML online convertitore (cerca online "Converti JSON in YAML").
    3. Copia il file YAML convertito in un file cluster-config-filename.yaml locale.

Esporta un file di configurazione di cluster YAML da un cluster esistente

  1. Crea un cluster corrispondente i tuoi requisiti.
  2. 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 nel 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 hub elencate nella tabella seguente. per impostare gli attributi dei cluster Dataproc che verranno generate dagli utenti dell'hub.

Variabile Descrizione Esempio
NOTEBOOKS_LOCATION Bucket o cartella bucket Cloud Storage contenente i blocchi note dell'utente. La Il prefisso "gs://" è facoltativo. Predefinito: Bucket gestione temporanea Dataproc. gs://bucket-name/
DATAPROC_CONFIGS Elenco delimitato da virgole di stringhe dei percorsi Cloud Storage verso File di configurazione dei cluster YAML. "gs://" è facoltativo. Predefinita: gs://dataproc-spawner-dist/example-configs/. che contiene gli elementi predefiniti example-cluster.yaml e example-single-node.yaml. gs://cluster-config-filename.yaml
DATAPROC_LOCATIONS_LIST Suffissi di zona nella regione in cui l'istanza Dataproc Hub in cui viene localizzato. Gli utenti possono selezionare una di queste zone come zona in cui Verrà generato il cluster Dataproc. Predefinito: "b". b,c,d
DATAPROC_DEFAULT_SUBNET Subnet da cui l'istanza Dataproc Hub genererà Dataproc cluster. 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 su cui verranno eseguite le VM Dataproc. Predefinito:se non viene configurato, account di servizio Dataproc predefinito . service-account@project-id.iam.gserviceaccount.com
SPAWNER_DEFAULT_URL Indica se mostrare la UI di Jupyter o JupyterLab al momento della riproduzione di cluster Dataproc per impostazione predefinita. Predefinito: "/lab". "/" o "/lab", rispettivamente per Jupyter o JupyterLab.
DATAPROC_ALLOW_CUSTOM_CLUSTERS Specifica se consentire agli utenti di personalizzare i cluster Dataproc. Predefinito:falso. "vero" o "false"
DATAPROC_MACHINE_TYPES_LIST Elenco dei tipi di macchina che gli utenti possono scegliere per il proprio parto Cluster Dataproc, se la personalizzazione del cluster (DATAPROC_ALLOW_CUSTOM_CLUSTERS) è abilitato. 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 scaricato 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 hub:

  1. Impostare le variabili di ambiente hub dalla console

  2. Impostare le variabili di ambiente hub in un file di testo

Imposta le variabili di ambiente hub dalla console

Quando crei un'istanza Dataproc Hub dalla scheda Blocchi note gestiti dall'utente nella Dataproc→Workbench nella console Google Cloud, puoi fare clic sul pulsante Compila per aprire un modulo Compila Dataproc Hub che consente di impostare ogni variabile di ambiente.

Impostare le variabili di ambiente hub in un file di testo

  1. Crea il file. Puoi utilizzare un editor di testo per impostare Variabili di ambiente dell'istanza Dataproc Hub in un file locale. In alternativa, puoi creare il file eseguendo questo comando dopo aver compilato i valori segnaposto e 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
    

  2. Salva il file in Cloud Storage. Copia il tuo indirizzo Variabili di ambiente dell'istanza Dataproc Hub 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 che Creazione di Dataproc Hub.

Ogni identità richiede autorizzazioni o ruoli specifici per eseguire le relative attività di machine learning. La tabella seguente riassume i ruoli e le autorizzazioni IAM richiesti da ogni e identità di base.

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

  1. Prima di iniziare: per creare un'istanza Dataproc Hub dalla console Google Cloud, l'account utente deve avere Autorizzazione compute.instances.create. Inoltre, l'account di servizio l'account di servizio predefinito all'account di servizio specificato dall'utente IAM e amministratore > Account di servizio (vedi Account di servizio VM Dataproc), deve avere iam.serviceAccounts.actAs autorizzazione.

  2. Vai alla sezione Dataproc→Workbench nella console Google Cloud, poi seleziona Blocchi note gestiti dall'utente .

  3. Se non è preselezionato come filtro, fai clic nella casella Filtro, quindi seleziona **Ambiente:hub Dataproc"".

  4. Fai clic su Nuovo blocco note→Dataproc Hub.

  5. Nella pagina Crea un blocco note gestito dall'utente, fornisci le seguenti informazioni:

    1. Nome blocco note: nome dell'istanza Dataproc Hub.
    2. Regione: seleziona una regione. per l'istanza Dataproc Hub. Dataproc anche i cluster generati da questa istanza Dataproc Hub creato in questa regione.
    3. Zona: seleziona una zona all'interno della regione selezionata.
    4. Ambiente:
      1. Environment: seleziona Dataproc Hub.
      2. (Facoltativo) Select a script to run after creation: puoi inserire o sfoglia e seleziona un azione di inizializzazione eseguibile o eseguibile per l'esecuzione sul cluster Dataproc generato.
      3. Populate Dataproc Hub (optional): fai clic su Compila per aprire un modulo di impostare ognuna delle variabili di ambiente dell'hub (vedi Impostare le variabili di ambiente dell'istanza Dataproc Hub per una descrizione di ciascuna variabile). Dataproc utilizza valori predefiniti per tutte le variabili di ambiente non impostate. In alternativa, puoi impostare coppie di metadati key:value per impostare le variabili di ambiente (vedi l'elemento successivo).
      4. Metadata:
        1. Se hai creato un file di testo contiene le impostazioni variabile di ambiente hub (vedi l'impostazione delle variabili di ambiente hub), fornisci il nome del file come key e gs://bucket-name/folder-name/environment-variable-filename Percorso Cloud Storage del file come value. Dataproc utilizza i valori predefiniti per tutti i casi variabili di ambiente.
    5. Configurazione macchina:
      1. Machine Type: seleziona il tipo di macchina di Compute Engine.
      2. Imposta altre opzioni di configurazione della macchina.
    6. Altre opzioni:
      1. Puoi espandere e impostare o sostituire valori predefiniti in Dischi, Networking, Autorizzazioni, Sicurezza, Upgrade dell'ambiente e integrità del sistema sezioni.
    7. Fai clic su Crea per avviare l'istanza Dataproc Hub.
  6. Il link Apri JupyterLab per l'istanza Dataproc Hub diventa e attivi dopo la creazione dell'istanza. Gli utenti fanno clic su questo link per aprire Pagina server JupyterHub per configurare e creare un JupyterLab JupyterLab (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 creato Prima di iniziare, inclusi i file di dati archiviati nel bucket:
    gcloud storage rm gs://${BUCKET_NAME} --recursive
    

Passaggi successivi