Creazione di un cluster Hadoop

Puoi utilizzare Dataproc per creare una o più istanze di Compute Engine che possono connettersi a un'istanza Bigtable ed eseguire job Hadoop. Questa pagina spiega come utilizzare Dataproc per automatizzare le seguenti attività:

  • Installazione di Hadoop e del client HBase per Java
  • Configurazione di Hadoop e Bigtable
  • Impostare gli ambiti di autorizzazione corretti per Bigtable

Dopo aver creato il cluster Dataproc, puoi utilizzarlo per eseguire job Hadoop che leggono e scrivono dati da e verso Bigtable.

Questa pagina presuppone che tu abbia già familiarità con Hadoop. Per ulteriori informazioni su Dataproc, consulta la documentazione di Dataproc.

Prima di iniziare

Prima di iniziare, devi completare le seguenti attività:

  • Crea un'istanza Bigtable. Assicurati di annotare l'ID progetto e l'ID istanza Bigtable.
  • Enable the Cloud Bigtable API, Cloud Bigtable Admin API, Dataproc, and Cloud Storage JSON APIs.

    Enable the APIs

  • Verifica che il tuo account utente abbia un ruolo che includa l'autorizzazione storage.objects.get.

    Apri la pagina IAM nella console Google Cloud .

    Apri la pagina IAM

  • Installa Google Cloud CLI. Per informazioni dettagliate, consulta le istruzioni di configurazione di gcloud CLI.
  • Installa Apache Maven, che viene utilizzato per eseguire un job Hadoop di esempio.

    Su Debian GNU/Linux o Ubuntu, esegui questo comando:

    sudo apt-get install maven

    Su RedHat Enterprise Linux o CentOS, esegui questo comando:

    sudo yum install maven

    Su macOS, installa Homebrew, poi esegui il seguente comando:

    brew install maven
  • Clona il repository GitHub GoogleCloudPlatform/cloud-bigtable-examples, che contiene un esempio di job Hadoop che utilizza Bigtable:
    git clone https://github.com/GoogleCloudPlatform/cloud-bigtable-examples.git

Crea un bucket Cloud Storage

Dataproc utilizza un bucket Cloud Storage per archiviare i file temporanei. Per evitare conflitti di denominazione dei file, crea un nuovo bucket per Dataproc.

I nomi dei bucket Cloud Storage devono essere univoci a livello globale in tutti i bucket. Scegli un nome del bucket che probabilmente sarà disponibile, ad esempio un nome che incorpori il nome del tuo Google Cloud progetto.

Dopo aver scelto un nome, utilizza il seguente comando per creare un nuovo bucket, sostituendo i valori tra parentesi con quelli appropriati:

gcloud storage buckets create gs://[BUCKET_NAME] --project=[PROJECT_ID]

Crea il cluster Dataproc

Esegui il comando seguente per creare un cluster Dataproc con quattro nodi di lavoro, sostituendo i valori tra parentesi con quelli appropriati:

gcloud dataproc clusters create [DATAPROC_CLUSTER_NAME] --bucket [BUCKET_NAME] \
    --region [region] --num-workers 4 --master-machine-type n1-standard-4 \
    --worker-machine-type n1-standard-4

Consulta la documentazione di gcloud dataproc clusters create per le impostazioni aggiuntive che puoi configurare. Se ricevi un messaggio di errore che include il testo Insufficient 'CPUS' quota, prova a impostare il flag --num-workers su un valore inferiore.

Testa il cluster Dataproc

Dopo aver configurato il cluster Dataproc, puoi testarlo eseguendo un job Hadoop di esempio che conteggia il numero di volte in cui una parola viene visualizzata in un file di testo. Il job di esempio utilizza Bigtable per archiviare i risultati dell'operazione. Puoi utilizzare questo job di esempio come riferimento quando configuri i tuoi job Hadoop.

Esegui il job Hadoop di esempio

  1. Nella directory in cui hai clonato il repository GitHub, passa alla directory java/dataproc-wordcount.
  2. Esegui questo comando per creare il progetto, sostituendo i valori tra parentesi con i valori appropriati:

    mvn clean package -Dbigtable.projectID=[PROJECT_ID] \
        -Dbigtable.instanceID=[BIGTABLE_INSTANCE_ID]
    
  3. Esegui il comando seguente per avviare il job Hadoop, sostituendo i valori tra parentesi con quelli appropriati:

    ./cluster.sh start [DATAPROC_CLUSTER_NAME]
    

Al termine del job, viene visualizzato il nome della tabella di output, ovvero la parola WordCount seguita da un trattino e da un numero univoco:

Output table is: WordCount-1234567890

Verifica i risultati del job Hadoop

(Facoltativo) Dopo aver eseguito il job Hadoop, puoi utilizzare la CLI cbt per verificare che il job sia stato eseguito correttamente:

  1. Apri una finestra del terminale in Cloud Shell.

    Apri in Cloud Shell

  2. Installa la CLI cbt:
        gcloud components update
        gcloud components install cbt
  3. Scansiona la tabella di output per visualizzare i risultati del job Hadoop, sostituendo [TABLE_NAME] con il nome della tabella di output:
        cbt -instance [BIGTABLE_INSTANCE_ID] read [TABLE_NAME]
      

Ora che hai verificato che il cluster sia configurato correttamente, puoi utilizzarlo per eseguire i tuoi job Hadoop.

Elimina il cluster Dataproc

Quando hai finito di utilizzare il cluster Dataproc, esegui il comando seguente per arrestare ed eliminare il cluster, sostituendo [DATAPROC_CLUSTER_NAME] con il nome del tuo cluster Dataproc:

gcloud dataproc clusters delete [DATAPROC_CLUSTER_NAME]

Passaggi successivi