Criar um serviço

Para criar um serviço do metastore do Dataproc, insira os parâmetros de serviço na página "Criar serviço" aberta em um navegador local, use ogcloud ferramenta ou emitir um método de API Dataproc do metastoreserviços.create de dados.

Ao criar um serviço, você precisa especificar a região dele. Consulte Locais do Cloud para informações sobre quais locais são compatíveis com o metastore do Dataproc.

Os campos adicionais incluem a versão do metastore, a rede, a porta e o nível de serviço. Se você não especificar uma rede, o metastore do Dataproc usará a rede default no projeto de serviço. O metastore do Dataproc usa IP privado. Portanto, apenas VMs na mesma rede podem acessar o serviço Metastore do Dataproc.

Antes de começar

  • 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.
  • 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

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

  • Ative a API Dataproc Metastore.

    Ative a API

  • 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

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

  • Ative a API Dataproc Metastore.

    Ative a API

  • A maioria dos comandos gcloud metastore requer um local. É possível especificar o local usando a sinalização --location ou definindo o local padrão

  • Não defina a restrição da política da organização para restringir o peering de VPC. Especificar constraints/compute.restrictVpcPeering faz com que sua solicitação de criação falhe com um erro INVALID_ARGUMENT. Se você precisar definir a restrição, use o seguinte comando para permitir under:folders/270204312590:

    gcloud resource-manager org-policies allow compute.restrictVpcPeering under:folders/270204312590 --organization ORGANIZATION_ID
    

    Para mais informações, consulte Restrições da política da organização.

  • Se quiser ativar o Kerberos para sua instância do metastore do Hive, você deve:

    • Hospede sua central de distribuição de chaves (KDC, na sigla em inglês) do Kerberos
    • Configure a conectividade IP entre a rede VPC e o KDC.
    • Configure um secret do Secret Manager que contenha o conteúdo de um Hive Keytab.
    • Especificar um principal que esteja no KDC e na Hive Keytab.
    • Especifique um arquivo krb5.conf em um bucket do Google Cloud Storage.

    Para mais informações, consulte Configurar o Kerberos.

Configurar VPC compartilhada

  • Para criar um serviço do metastore do Dataproc acessível em uma rede pertencente a um projeto diferente daquele a que o serviço pertence, você precisa concederroles/metastore.serviceAgent para o agente de serviço do metastore do Dataproc do projeto de serviço (service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com ) na política de IAM do projeto de rede.

    gcloud projects add-iam-policy-binding NETWORK_PROJECT_ID \
        --role "roles/metastore.serviceAgent" \
        --member "serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com"
    

Controle de acesso

  • Para criar um serviço, é preciso solicitar um papel do IAM que contenha a permissão do IAM metastore.services.create. Os papéis específicos roles/metastore.admin e roles/metastore.editor do metastore do Dataproc incluem permissão de criação.

  • É possível conceder permissão de criação a usuários ou grupos usando os papéis legados roles/owner e roles/editor.

Para mais informações, consulte IAM e Dataproc de controle de acesso.

Criar um serviço do metastore do Dataproc

Veja nas instruções a seguir como criar um serviço do metastore do Dataproc.

Console

  1. No Console do Cloud, abra a página do metastore do Dataproc:

    Abra o metastore do Dataproc no Console do Cloud

  2. Na parte superior da página Metastore do Dataproc, clique no botão Criar. A página Criar serviço é aberta.

    Criar página de serviço
  3. No campo Nome do serviço, insira um nome exclusivo para o serviço. Para informações sobre a convenção de nomenclatura, consulte Convenções de nomenclatura de recursos.

  4. Selecione o Local dos dados.

  5. Selecione a versão Metastore do Hive. Se não for especificada, a versão 3.1.2 do Hive será usada. Para mais informações, consulte Política de versões.

  6. Selecione o Canal de lançamento. Se não for especificado, Stable será usado. Para mais informações, consulte Canal de lançamento.

  7. Digite a porta. Essa é a porta TCP em que a interface do metastore do metastore do Dataproc está disponível. Se não for fornecido, o número da porta 9083 será usado.

  8. Selecione o Nível de serviço. Isso influencia a capacidade do serviço. Developer é o nível padrão. Ele é bom para prova de conceito de baixo custo, porque ele oferece escalonabilidade limitada e nenhuma tolerância a falhas. Enterprise oferece escalonabilidade flexível, tolerância a falhas e alta disponibilidade em várias zonas. Pode lidar com grandes cargas de trabalho do metastore do Dataproc.

  9. Selecione a rede . O serviço precisa estar anexado à mesma rede que outros clientes do Metastore, como o cluster do Dataproc, para serem acessados. Se não for fornecida, a rede default será usada.

    Opcional: clique em Usar rede VPC compartilhada e insira o ID do projeto e o nome da rede VPC da rede VPC compartilhada. Para mais informações, consulte VPC Service Controls com metastore do Dataproc.

  10. Opcional: ative a sincronização do Data Catalog. Para mais informações, consulte Metastore do Dataproc para sincronização do Data Catalog.

  11. Opcional: selecione o Dia da semana e a Hora do dia na janela de manutenção do serviço. Para mais informações, consulte Janelas de manutenção.

  12. Opcional: ative um arquivo keytab Kerberos:

    1. Clique no botão para ativar o Kerberos.

    2. Selecione ou insira o código do recurso secret.

    3. Use a versão do secret mais recente ou selecione uma mais antiga.

    4. Insira o principal do Kerberos. Este é o principal alocado para este serviço Metastore do Dataproc.

    5. Navegue até o arquivo krb5 config.

  13. Opcional: clique em Usar uma chave de criptografia gerenciada pelo cliente (CMEK) e selecione uma chave gerenciada pelo cliente. Para mais informações, consulte Como usar chaves de criptografia gerenciadas pelo cliente.

  14. Opcional: para aplicar um mapeamento ao metastore do Hive, clique em + Add Overrides.

  15. Opcional: para adicionar outros metadados ao recurso de serviço do metastore, clique em + Adicionar rótulos.

  16. Para criar e iniciar o serviço, clique no botão Enviar.

  17. Verifique se você retornou para a página Metastore do Dataproc e se seu novo serviço aparece na lista.

gcloud

  1. Execute o seguinte comando gcloud metastore services create para criar um serviço:

    gcloud metastore services create SERVICE \
        --location=LOCATION \
        --labels=k1=v1,k2=v2,k3=v3 \
        --network=NETWORK \
        --port=PORT \
        --tier=TIER \
        --hive-metastore-version=HIVE_METASTORE_VERSION \
        --release-channel=RELEASE_CHANNEL \
        --hive-metastore-configs=K1=V1,K2=V2 \
        --kerberos-principal=KERBEROS_PRINCIPAL \
        --krb5-config=KRB5_CONFIG \
        --keytab=CLOUD_SECRET
        --encryption-kms-key=KMS_KEY
    

    Substitua:

    • SERVICE: o nome do novo serviço;
    • LOCATION: refere-se a uma região do Google Cloud.
    • k1=v1,k2=v2,k3=v3: os rótulos usados.
    • NETWORK: o nome da rede VPC em que o serviço pode ser acessado. Ao usar uma rede VPC pertencente a um projeto diferente do serviço, é necessário fornecer todo o nome de recurso relativo, por exemplo, projects/HOST_PROJECT/global/networks/NETWORK_ID.
    • PORT: a porta TCP em que a interface do Thstore do metastore está disponível. Padrão: 9083
    • TIER: a capacidade do nível do novo serviço.
    • HIVE_METASTORE_VERSION: as versões do metastore do Hive que podem ser usadas ao criar um novo serviço de metastore neste local. O servidor garante que exatamente um HiveMetastoreVersion na lista esteja definido como is_default.
    • RELEASE_CHANNEL: o canal de lançamento do serviço.
    • K1=V1,K2=V2: opcional: as configurações do metastore do Hive usadas.
    • KERBEROS_PRINCIPAL: opcional: um princípio Kerberos que existe na guia key e no KDC. Um princípio típico é o formato "primary/instance@REALM", mas não há um formato exato.
    • KRB5_CONFIG (opcional): o arquivo krb5.config especifica as informações de domínio do KDC e do Kerberos, que incluem locais de KDCs e padrões para os aplicativos real e Kerberos.
    • CLOUD_SECRET: opcional: o nome do recurso relativo de uma versão do secret do Secret Manager.
    • KMS_KEY: refere-se ao ID do recurso da chave.
  2. Verifique se a criação foi bem-sucedida.

REST

Siga as instruções da API para criar um serviço usando a API Explorer.

Usar intervalos de endereços IP particulares não RFC 1918

A rede VPC fornecida pode acabar sem endereços RFC 1918 disponíveis exigidos pelos serviços do Metastore do Dataproc. Se isso acontecer, o Metastore do Dataproc tentará reservar intervalos de endereços IP particulares fora dos intervalos RFC 1918 para a criação do serviço. Para ver uma lista de intervalos particulares não RFC 1918 compatíveis, consulte Intervalos válidos na documentação da rede VPC.

Os endereços IP particulares não RFC 1918 usados no Metastore do Dataproc podem entrar em conflito com um intervalo em uma rede local conectada à rede VPC fornecida. Para verificar a lista de endereços IP particulares RFC 1918 e endereços IP não RFC 1918 reservados pelo Metastore do Dataproc:

gcloud compute addresses list \
    --project NETWORK_PROJECT_ID \
    --filter="purpose:VPC_PEERING AND name ~ cluster|resourcegroup"

Se um conflito for determinado e não puder ser atenuado com a reconfiguração da rede local, exclua o serviço do metastore do Dataproc ofensivo e recrie-o após duas horas.

Depois de criar um serviço Metastore do Dataproc

Depois de criar um serviço, é possível criar e anexar um cluster do Dataproc ou o Apache Hive/Apache Spark/autogerenciados }Presto que usa o serviço como metastore Hive.

A seguir