Crie um cluster do Hadoop

Use o Dataproc para criar uma ou mais instâncias do Compute Engine que possam 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.
  • Ative as APIs Cloud Bigtable API, Cloud Bigtable Admin API, Dataproc, and Cloud Storage JSON.

    Ative as APIs

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

    Abra a página "IAM" no console do 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 a ferramenta gsutil executando o seguinte comando:
    gcloud components install gsutil
  • 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 projeto do Google Cloud.

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

gsutil mb -p [PROJECT_ID] gs://[BUCKET_NAME]

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