Como criar 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 Cloud 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
  • configuração do Hadoop e do Cloud Bigtable
  • definição dos escopos de autorização corretos para o Cloud Bigtable

Depois de criar seu cluster do Dataproc, use-o para executar jobs do Hadoop que lê e grava dados de e para o Cloud 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 Cloud Bigtable. Anote o ID do projeto e o da instância do Cloud Bigtable.
  • Ative as APIs Cloud Bigtable, Cloud Bigtable Admin, Dataproc, and Cloud Storage JSON.

    Ative as APIs

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

    Abra a página "IAM" no Console do Cloud.

    Abrir a página do IAM

  • Instale o SDK do Cloud e a ferramenta de linha de comando gcloud. Consulte as instruções de configuração do SDK do Cloud para mais detalhes.
  • Instale a ferramenta gsutil executando o seguinte comando:
    gcloud components install gsutil
  • Instale o Apache Maven (em inglês), usado para executar um job 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 (em inglês) e execute o seguinte comando:

    brew install maven
  • Clone o repositório do GitHub GoogleCloudPlatform/cloud-bigtable-examples (em inglês), que contém um exemplo de job do Hadoop que usa o Cloud 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]

Como 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] \
    --zone [ZONE] --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.

Como 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 Cloud Bigtable para armazenar os resultados da operação. Use essa amostra como referência ao configurar seus próprios jobs do Hadoop.

Como executar o exemplo de job 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

Como verificar os resultados do job do Hadoop

Como opção, depois de executar o job do Hadoop, você pode usar a ferramenta cbt para verificar se o job foi executado com sucesso:

  1. Abra uma janela de terminal no Cloud Shell.

    Abrir no Cloud Shell

  2. Instale a ferramenta de linha de comando 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.

Como excluir 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