Crie um cluster Hadoop
Pode usar o Dataproc para criar uma ou mais instâncias do Compute Engine que podem ligar-se a uma instância do Bigtable e executar tarefas do Hadoop. Esta página explica como usar o Dataproc para automatizar as seguintes tarefas:
- Instalar o Hadoop e o cliente HBase para Java
- Configurar o Hadoop e o Bigtable
- Definir os âmbitos de autorização corretos para o Bigtable
Depois de criar o cluster do Dataproc, pode usá-lo para executar tarefas do Hadoop que leiam e escrevam dados para e a partir do Bigtable.
Esta página pressupõe que já conhece o Hadoop. Para mais informações acerca do Dataproc, consulte a documentação do Dataproc.
Antes de começar
Antes de começar, tem de concluir as seguintes tarefas:
- Crie uma instância do Bigtable. Certifique-se de que anota o ID do projeto e o ID da instância do Bigtable.
-
Enable the Cloud Bigtable API, Cloud Bigtable Admin API, Dataproc, and Cloud Storage JSON APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - Verifique se a sua conta de utilizador tem uma função que inclua a autorização
storage.objects.get
.Abra a página IAM na Google Cloud consola.
- Instale a CLI do Google Cloud. Consulte as instruções de configuração da CLI gcloud para ver detalhes.
-
Instale o Apache Maven, que é usado para executar uma tarefa de exemplo do Hadoop.
No Debian GNU/Linux ou Ubuntu, execute o seguinte comando:
sudo apt-get install maven
No RedHat Enterprise Linux ou CentOS, execute o seguinte comando:
sudo yum install maven
No macOS, instale o Homebrew e, de seguida, execute o seguinte comando:
brew install maven
- Clone o repositório do GitHub
GoogleCloudPlatform/cloud-bigtable-examples,
que contém um exemplo de uma tarefa do Hadoop que usa o Bigtable:
git clone https://github.com/GoogleCloudPlatform/cloud-bigtable-examples.git
Crie um contentor do Cloud Storage
O Dataproc usa um contentor do Cloud Storage para armazenar ficheiros temporários. Para evitar conflitos de nomes de ficheiros, crie um novo contentor para o Dataproc.
Os nomes dos contentores do Cloud Storage têm de ser exclusivos a nível global em todos os contentores. Escolha um nome de contentor que provavelmente esteja disponível, como um nome que incorpore o nome do seu projeto. Google Cloud
Depois de escolher um nome, use o seguinte comando para criar um novo grupo, substituindo os valores entre parênteses pelos valores adequados:
gcloud storage buckets create gs://[BUCKET_NAME] --project=[PROJECT_ID]
Crie o cluster do Dataproc
Execute o seguinte comando para criar um cluster do Dataproc com quatro nós de trabalho, substituindo os valores entre parênteses pelos valores adequados:
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
Consulte a gcloud dataproc clusters create
documentação
para ver definições adicionais que pode configurar. Se receber uma mensagem de erro que inclua o texto Insufficient 'CPUS' quota
, experimente definir a flag --num-workers
para um valor inferior.
Teste o cluster do Dataproc
Depois de configurar o cluster do Dataproc, pode testá-lo executando uma tarefa de exemplo do Hadoop que conta o número de vezes que uma palavra aparece num ficheiro de texto. A tarefa de exemplo usa o Bigtable para armazenar os resultados da operação. Pode usar esta tarefa de exemplo como referência quando configurar as suas próprias tarefas do Hadoop.
Execute a tarefa Hadoop de exemplo
- No diretório onde clonou o repositório do GitHub, mude para o diretório
java/dataproc-wordcount
. Execute o seguinte comando para criar o projeto, substituindo os valores entre parênteses pelos valores adequados:
mvn clean package -Dbigtable.projectID=[PROJECT_ID] \ -Dbigtable.instanceID=[BIGTABLE_INSTANCE_ID]
Execute o seguinte comando para iniciar a tarefa do Hadoop, substituindo os valores entre parênteses pelos valores adequados:
./cluster.sh start [DATAPROC_CLUSTER_NAME]
Quando a tarefa estiver concluída, é apresentado o nome da tabela de saída, que é a palavra WordCount
seguida de um hífen e um número único:
Output table is: WordCount-1234567890
Valide os resultados da tarefa do Hadoop
Opcionalmente, depois de executar a tarefa do Hadoop, pode usar a CLI
cbt
para verificar se a tarefa foi executada com êxito:
-
Abra uma janela de terminal no Cloud Shell.
- Instale a CLI
cbt
:gcloud components update
gcloud components install cbt
- Analise a tabela de resultados para ver os resultados da tarefa do Hadoop, substituindo
[TABLE_NAME]
pelo nome da tabela de resultados:cbt -instance [BIGTABLE_INSTANCE_ID] read [TABLE_NAME]
Agora que verificou que o cluster está configurado corretamente, pode usá-lo para executar as suas próprias tarefas do Hadoop.
Elimine o cluster do Dataproc
Quando terminar de usar o cluster do Dataproc, execute o seguinte comando para encerrar e eliminar o cluster, substituindo [DATAPROC_CLUSTER_NAME]
pelo nome do seu cluster do Dataproc:
gcloud dataproc clusters delete [DATAPROC_CLUSTER_NAME]
O que se segue?
- Saiba mais acerca do Dataproc.
- Comece a usar o cliente HBase para Java.