Esta página foi traduzida pela API Cloud Translation.
Switch to English

Configurar o Dataproc Hub

O Dataproc Hub é um servidor Jupyterhub personalizado. Os administradores configuram e criam instâncias do Dataproc Hub que podem gerar clusters do Dataproc de usuário único para hospedar ambientes de notebook Jupyter e JupyterLab (consulte Usar o Dataproc Hub).

Objetivos

  1. Defina uma configuração de cluster do Dataproc ou use um dos arquivos de configuração predefinidos.

  2. Definir variáveis de ambiente da instância do Dataproc Hub.

  3. Crie uma instância do Dataproc Hub .

Antes de começar

Se ainda não tiver feito isso, crie um projeto do Google Cloud e um bucket do Cloud Storage.

  1. Como configurar o projeto

    1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
    2. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

      Acessar o seletor de projetos

    3. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

    4. Ative as APIs Dataproc, Compute Engine, and Cloud Storage.

      Ative as APIs

    5. Instale e inicialize o SDK do Cloud..

  2. Como criar um bucket do Cloud Storage em seu projeto para armazenar os dados usados neste tutorial.

    1. No Console do Cloud, acesse a página Navegador.

      Acessar o navegador

    2. Clique em Criar bucket.
    3. Na página Criar um bucket, especifique os seguintes atributos:
    4. Clique em Criar.

Defina uma configuração de cluster

Uma instância do Dataproc Hub cria um cluster a partir de valores de configuração contidos em um arquivo de configuração de cluster YAML.

A configuração do cluster pode especificar qualquer recurso ou componente disponível para clusters do Dataproc (como tipo de máquina, ações de inicialização e componentes opcionais). A versão da imagem do cluster precisa ser 1.4.13 ou superior. A tentativa de gerar um cluster com uma versão de imagem anterior à 1.4.13 causará um erro e falhará.

Amostra do arquivo de configuração do cluster YAML

clusterName: cluster-name
config:
  gceClusterConfig:
    metadata:
      'PIP_PACKAGES': 'google-cloud-core>=1.3.0 google-cloud-storage>=1.28.1'
  initializationActions:
  - executableFile: gs://dataproc-initialization-actions/python/pip-install.sh
  softwareConfig:
    imageVersion: 1.5-ubuntu18
    optionalComponents:
    - ANACONDA
    - JUPYTER

Cada configuração precisa ser salva no Cloud Storage. É possível criar e salvar vários arquivos de configuração para oferecer aos usuários uma opção quando eles usarem o Dataproc Hub para criar o ambiente de notebook do cluster do Dataproc.

Há duas maneiras de criar um arquivo de configuração de cluster YAML:

  1. Crie um arquivo de configuração de cluster YAML no console

  2. Exporte um arquivo de configuração de cluster YAML de um cluster existente

Crie um arquivo de configuração de cluster YAML no console

  1. Abra a página Criar um cluster no Console do Cloud e selecione e preencha os campos para especificar o tipo de cluster que será gerado pelo Dataproc Hub para os usuários.
    1. Na parte inferior do painel esquerdo, selecione "REST equivalente".
    2. Copie o bloco JSON gerado excluindo a linha de solicitação POST principal e cole o bloco JSON em um conversor online de JSON para YAML (pesquise "Converter JSON em YAML").
    3. Copie o YAML convertido em um arquivo cluster-config-filename .yaml local.

Exporte um arquivo de configuração de cluster YAML de um cluster existente

  1. Crie um cluster que corresponda aos seus requisitos.
  2. Exporte a configuração do cluster para um arquivo yaml cluster-config-filename local.
    gcloud dataproc clusters export cluster-name \
        --destination cluster-config-filename.yaml  \
        --region region
     

Salve o arquivo de configuração YAML no Cloud Storage

Copie o arquivo de configuração do cluster YAML local para o bucket do Cloud Storage.

gsutil cp cluster-config-filename.yaml gs://bucket-name/

Defina variáveis de ambiente da instância do Dataproc Hub

O administrador pode definir as variáveis de ambiente do hub listadas na tabela abaixo para definir os atributos dos clusters do Dataproc que serão gerados pelos usuários do hub.

Variável Descrição Exemplo
NOTEBOOKS_LOCATION Bucket do Cloud Storage ou pasta do bucket que contém notebooks do usuário. O prefixo "gs://" é opcional. Padrão: o bucket de preparo do Dataproc gs://bucket-name/
DATAPROC_CONFIGS Lista delimitada por vírgulas de strings dos caminhos do Cloud Storage para arquivos de configuração do cluster YAML. O prefixo "gs://" é opcional. Padrão: gs://dataproc-spawner-dist/example-configs/. que contém example-cluster.yaml e example-single-node.yaml predefinidos. gs://cluster-config-filename.yaml
DATAPROC_LOCATIONS_LIST Sufixos de zona na região em que a instância do Dataproc Hub está localizada. Os usuários podem selecionar uma dessas zonas como a zona em que o cluster do Dataproc será gerado. Padrão: "b". b, c, d
DATAPROC_DEFAULT_SUBNET Sub-rede em que a instância do Dataproc Hub gerará clusters do Dataproc. Padrão: a sub-rede da instância do Dataproc Hub. https://www.googleapis.com/compute/v1/projects/project-id/regions/region/subnetworks/subnet-name
DATAPROC_SERVICE_ACCOUNT Conta de serviço em que as VMs do Dataproc serão executadas. Padrão: se não for definida, a conta de serviço padrão do Dataproc será usada. service-account@project-id.iam.gserviceaccount.com
SPAWNER_DEFAULT_URL Se a IU do Jupyter ou do JupyterLab será exibida em clusters gerados pelo Dataproc por padrão. Padrão: "/lab". "/" ou "/lab" para Jupyter ou JupyterLab, respectivamente.
DATAPROC_ALLOW_CUSTOM_CLUSTERS Se os usuários podem personalizar os clusters do Dataproc. Padrão: falso. "verdadeiro" ou "falso"
DATAPROC_MACHINE_TYPES_LIST Lista de tipos de máquinas que os usuários podem escolher para os clusters gerados pelo Dataproc, se a personalização do cluster (DATAPROC_ALLOW_CUSTOM_CLUSTERS) estiver ativada. Padrão:vazio (todos os tipos de máquina são permitidos). n1-standard-4,n1-standard-8,e2-standard-4,n1-highcpu-4
NOTEBOOKS_EXAMPLES_LOCATION Caminho do Cloud Storage para o bucket de notebooks ou a pasta do bucket a ser baixada para o cluster do Dataproc gerado quando o cluster for iniciado. Padrão: vazio. gs://bucket-name/

Como definir variáveis de ambiente do hub

Há duas maneiras de definir variáveis de ambiente do hub:

  1. Definir as variáveis de ambiente do hub no console

  2. Definir as variáveis de ambiente do hub em um arquivo de texto

Definir variáveis de ambiente do hub no console

Quando você criar uma instância do hub na página instâncias do Dataproc→Notebooks no Console do Cloud, clique no botão PREENCHER para abrir um formulário de Preenchimento do Dataproc Hub, que permite definir cada variável (consulte Criar uma instância do Dataproc Hub).

Definir variáveis de ambiente do hub em um arquivo de texto

  1. Crie o arquivo. É possível usar um editor de texto para definir variáveis de ambiente da instância do Dataproc Hub em um arquivo local. Como alternativa, crie o arquivo executando o seguinte comando depois de preencher os valores do marcador e alterar ou adicionar variáveis e seus valores.

    cat <<EOF > environment-variables-file
    DATAPROC_CONFIGS=gs://bucket/cluster-config-filename.yaml
    NOTEBOOKS_LOCATION=gs://bucket/notebooks
    DATAPROC_LOCATIONS_LIST=b,c
    EOF
    

  2. Salve o arquivo no Cloud Storage. Copie o arquivo local de variáveis de ambiente da instância do Dataproc Hub para o bucket do Cloud Storage.

    gsutil cp environment-variable-filename gs://bucket-name/folder-name/

Definir papéis de gerenciamento de identidade e acesso (IAM, na sigla em inglês)

O Dataproc Hub inclui as seguintes identidades com as seguintes capacidades:

  • Administrador: cria uma instância do Dataproc Hub
  • Usuário de dados e ML: acessa a IU do Dataproc Hub
  • Conta de serviço do Dataproc Hub: representa o Dataproc Hub
  • Conta de serviço do Dataproc: representa o cluster do Dataproc que o Dataproc Hub cria.

Cada identidade requer papéis ou permissões específicas para realizar as tarefas associadas. A tabela abaixo resume os papéis e permissões do IAM exigidos por cada identidade.

Identidade Tipo Papel ou permissão
Administrador do Dataproc Hub Usuário ou conta de serviço roles/notebooks.admin
Usuário do Dataproc Hub Usuário notebooks.instances.use, dataproc.clusters.use
Dataproc Hub Conta de serviço roles/dataproc.hubAgent
Dataproc Conta de serviço roles/dataproc.worker

Crie uma instância do Dataproc Hub

  1. Acesse a página Dataproc → Instâncias de notebooks no Console do Cloud.

  2. Clique em NOVA INSTÂNCIA→Dataproc Hub

  3. Na página Nova instância de notebook, forneça as seguintes informações:

    1. Nome da instância: nome da instância do Dataproc Hub.
    2. Região: selecione uma região para a instância do Dataproc Hub. Observação: os clusters do Dataproc gerados por essa instância do Dataproc Hub também serão criados nessa região.
    3. Zona: selecione uma zona na região selecionada.
    4. Ambiente:
      1. Ambiente: selecione "Dataproc Hub"
      2. Selecione um script para ser executado após a criação (opcional): é possível inserir ou procurar e selecionar um script de ação de inicialização ou um arquivo executável para executar no cluster do Dataproc gerado.
      3. Preencha o Dataproc Hub (opcional): clique em PREENCHER para abrir um formulário que permite definir cada uma das variáveis de ambiente do hub (consulte Definir variáveis de ambiente da instância do Dataproc Hub para uma descrição de cada variável). Como alternativa, use o campo container-env-file abaixo para apontar para um arquivo de texto criado que contenha as configurações de variável. Se você não definir algumas ou todas as variáveis de ambiente, o Dataproc usará valores padrão para variáveis não definidas.
      4. Variáveis de ambiente:
        1. container-env-file (opcional): se você criou um arquivo de texto que contém as configurações de variável do ambiente do hub (consulte Como definir variáveis de ambiente do hub), forneça o nome e o local do seu arquivo no Cloud Storage.

          Exemplo:

          gs://bucket-name/folder-name/environment-variable-filename

          Se você não definir algumas ou todas as variáveis de ambiente, o Dataproc usará valores padrão para variáveis não definidas.

    5. Configuração da máquina:
      1. Tipo de máquina: selecione o tipo de máquina do Compute Engine.
      2. Defina outras opções de configuração de máquina.
    6. Clique em CRIAR para iniciar a instância.
  4. Quando a instância estiver em execução, clique no link "JupyterLab" na página de instâncias do Notebook para acessar a instância.

Limpar

Como excluir a instância do Dataproc Hub

  • Para excluir sua instância do Dataproc Hub:
    gcloud compute instances delete --project=${PROJECT} ${INSTANCE_NAME}
    

Exclusão do bucket

  • Para excluir o bucket do Cloud Storage criado em Antes de começar, incluindo os arquivos de dados armazenados no bucket:
    gsutil -m rm -r gs://${BUCKET_NAME}
    

A seguir