Creazione di un cluster Hadoop
Puoi utilizzare Dataproc per creare una o più istanze Compute Engine che possono connettersi a un'istanza Bigtable e 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à dimestichezza 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.
- Verifica che il tuo account utente appartenga a un ruolo che includa l'autorizzazione
storage.objects.get
.Apri la pagina IAM nella console Google Cloud.
- 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 il seguente comando:
sudo apt-get install maven
Su RedHat Enterprise Linux o CentOS, esegui il seguente comando:
sudo yum install maven
Su macOS, installa Homebrew, quindi 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 per tutti i bucket. Scegli un nome per il bucket che sia probabilmente disponibile, ad esempio un nome che incorpori il nome del tuo progetto Google Cloud.
Dopo aver scelto un nome, utilizza il seguente comando per creare un nuovo bucket, sostituendo i valori tra parentesi con i valori 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 worker, sostituendo i valori tra parentesi con i valori 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 scoprire altre impostazioni che puoi configurare. Se viene visualizzato 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 che una parola compare 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 per configurare i tuoi job Hadoop.
Esegui il job Hadoop di esempio
- Nella directory in cui hai clonato il repository GitHub, vai alla directory
java/dataproc-wordcount
. Esegui il seguente comando per compilare il progetto, sostituendo i valori tra parentesi con i valori appropriati:
mvn clean package -Dbigtable.projectID=[PROJECT_ID] \ -Dbigtable.instanceID=[BIGTABLE_INSTANCE_ID]
Esegui il seguente comando per avviare il job Hadoop, sostituendo i valori tra parentesi con i valori 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
Verificare i risultati del job Hadoop
Facoltativamente, dopo aver eseguito il job Hadoop, puoi utilizzare
cbt
CLI
per verificare che il job sia stato eseguito correttamente:
-
Apri una finestra del terminale in Cloud Shell.
- Installa l'interfaccia a riga di comando
cbt
:gcloud components update
gcloud components install cbt
- Esegui la scansione della 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 è configurato correttamente, puoi utilizzarlo per eseguire i tuoi job Hadoop.
Elimina il cluster Dataproc
Al termine dell'utilizzo del cluster Dataproc, esegui il seguente
comando per arrestarlo ed eliminarlo, sostituendo [DATAPROC_CLUSTER_NAME]
con il nome del cluster Dataproc:
gcloud dataproc clusters delete [DATAPROC_CLUSTER_NAME]
Passaggi successivi
- Scopri di più su Dataproc.
- Inizia a utilizzare il client HBase per Java.