Crie um cluster do Hadoop

É possível usar o Dataproc para criar uma ou mais instâncias do Compute Engine capazes de se conectar a uma instância do Bigtable e executar jobs do Hadoop. Nesta página, explicamos como usar o Dataproc para automatizar as seguintes tarefas:

  • instalação do Hadoop e o cliente HBase para Java
  • Como configurar o Hadoop e o Bigtable
  • Definição dos escopos corretos de autorização para o Bigtable

Após criar um cluster do Dataproc, use-o para executar jobs do Hadoop que leem e gravam dados no Bigtable.

Para compreender melhor as instruções desta página, você precisa estar familiarizado com o Hadoop. Para mais informações sobre o Dataproc, consulte a documentação do Dataproc.

Antes de começar

Antes de começar, você precisará concluir as seguintes tarefas:

  • Crie uma instância do Bigtable. Anote 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  • Verifique se sua conta de usuário tem um papel que inclui a permissão storage.objects.get.

    Abra a página do IAM no console Google Cloud .

    Abrir a página do IAM

  • Instale a Google Cloud CLI. Consulte as instruções de configuração da CLI para mais detalhes.
  • Instale o Apache Maven, usado para executar um job do Hadoop de amostra.

    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 execute o seguinte comando:

    brew install maven
  • Clone o repositório do GitHub GoogleCloudPlatform/cloud-bigtable-examples, que contém um exemplo de um job do Hadoop que usa o Bigtable:
    git clone https://github.com/GoogleCloudPlatform/cloud-bigtable-examples.git

crie um bucket do Cloud Storage

O Dataproc usa um bucket do Cloud Storage para armazenar arquivos temporários. Para evitar conflitos de nomes de arquivos, crie um novo bucket para o Dataproc.

Os nomes de buckets do Cloud Storage precisam ser globalmente exclusivos. Escolha um nome de bucket que provavelmente esteja disponível, por exemplo, um que incorpore o nome do seu projeto Google Cloud .

Após escolher um nome, use o comando abaixo para criar um bucket novo, substituindo os valores entre colchetes pelos valores apropriados:

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

Criar o cluster do Dataproc

Execute o seguinte comando para criar um cluster do Dataproc com quatro nós de trabalho, substituindo os valores entre colchetes pelos valores apropriados:

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 documentação de gcloud dataproc clusters create para conhecer as outras configurações que se pode definir. Se você receber uma mensagem de erro que inclua o texto Insufficient 'CPUS' quota, tente configurar a sinalização --num-workers com um valor mais baixo.

Testar o cluster do Dataproc

Depois de configurar seu cluster do Dataproc, teste o cluster executando um exemplo de job do Hadoop que conta o número de vezes que uma palavra aparece em um arquivo de texto. O exemplo de job usa o Bigtable para armazenar os resultados da operação. Use essa amostra como referência ao configurar seus próprios jobs do Hadoop.

Executar o job de amostra do Hadoop

  1. No diretório em que você clonou o repositório do GitHub, passe para o diretório java/dataproc-wordcount.
  2. Execute o comando abaixo para criar o projeto, substituindo os valores entre colchetes pelos valores apropriados:

    mvn clean package -Dbigtable.projectID=[PROJECT_ID] \
        -Dbigtable.instanceID=[BIGTABLE_INSTANCE_ID]
    
  3. Execute o comando abaixo para iniciar o job do Hadoop, substituindo os valores entre colchetes pelos valores apropriados:

    ./cluster.sh start [DATAPROC_CLUSTER_NAME]
    

Quando o job é concluído, ele exibe o nome da tabela de saída, que é a palavra WordCount seguida por um hífen e um número exclusivo:

Output table is: WordCount-1234567890

Verificar os resultados do job do Hadoop

Após executar o job do Hadoop, você também pode usar a CLI cbt para verificar se ele foi executado com êxito:

  1. Abra uma janela de terminal no Cloud Shell.

    Abrir no Cloud Shell

  2. Instale a CLI cbt :
        gcloud components update
        gcloud components install cbt
  3. Verifique a tabela de saída para visualizar os resultados do job do Hadoop, substituindo [TABLE_NAME] pelo nome da tabela de saída:
        cbt -instance [BIGTABLE_INSTANCE_ID] read [TABLE_NAME]
      

Após confirmar que o cluster foi configurado corretamente, use-o para executar seus próprios jobs do Hadoop.

Exclua o cluster do Dataproc

Quando terminar de usar o cluster do Dataproc, execute o seguinte comando para encerrar e excluir o cluster, substituindo [DATAPROC_CLUSTER_NAME] pelo nome do cluster do Dataproc:

gcloud dataproc clusters delete [DATAPROC_CLUSTER_NAME]

A seguir