Versões auxiliares

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Nesta página, explicamos como usar o recurso de versões auxiliares com o metastore do Dataproc.

As versões auxiliares permitem conectar duas versões diferentes de um metastore Hive para um único serviço do metastore do Dataproc. Essa configuração permite que você ofereça suporte a vários mecanismos de processamento de dados que precisam ser executados em diferentes versões do metastore do Hive.

Por exemplo, com versões auxiliares, é possível conectar vários clusters do Dataproc ao mesmo serviço do metastore do Dataproc. Nessa configuração, um cluster pode executar a versão 2.0 do Dataproc enquanto o outro executa a versão 1.5 do Dataproc. O cluster do Dataproc 2.0 pode se conectar a um endpoint que expõe o Hive versão 3.1.2, enquanto o cluster do Dataproc 1.5 se conecta a um endpoint que expõe o Hive versão 2.3.6.

Como funcionam as versões auxiliares

Ao ativar as versões auxiliares, o Dataproc Metastore expõe um endpoint separado para cada versão do metastore Hive. No entanto, ambos os endpoints continuam compartilhando o mesmo banco de dados de metadados.

Observe que esse recurso não oferece uma maneira de usar diferentes conjuntos de metadados com um único serviço do metastore do Dataproc. Em vez disso, ela oferece uma maneira de estender e melhorar a compatibilidade entre seus serviços.

Considerações

  • Só é possível criar uma versão auxiliar para cada serviço do Dataproc Metastore.

  • A versão auxiliar precisa ser configurada para usar uma versão do metastore Hive menor que a versão principal.

  • A versão auxiliar não é compatível com os seguintes recursos:

    Os recursos relacionados a metadados (importação/exportação/backup/restauração) só podem ser usados com a versão primária, já que os metadados de back-end entre as duas versões são compartilhados.

  • Alguns métodos Hive podem não ser compatíveis entre a versão auxiliar e a versão principal. Essa compatibilidade depende das versões do Hive que você está usando para as versões primária e auxiliar e sobre os métodos que são compatíveis entre as versões do Hive.

  • A versão auxiliar mantém um arquivo de registros separado da versão principal. Para depurar problemas de metastore do Hive, use o Cloud Logging.

Propriedades compartilhadas entre as versões

Quando você cria uma versão auxiliar, algumas propriedades são compartilhadas e permanecem comuns entre a versão auxiliar e a versão principal. Outras propriedades não são compartilhadas e são separadas entre as duas versões.

A tabela a seguir lista essas diferenças.

Propriedades Nome diferentes
Endpoint
Modificações de configuração do Hive*
Configuração do Kerberos
Protocolo de endpoint (Thrift/gRPC)
Porta brechó
Bucket de artefatos do Cloud Storage
Nível
Janela de manutenção
Canal de lançamento
Configuração de criptografia
Tipo de banco de dados
Alternar sincronização do Data Catalog
Métrica de número de solicitações

* As substituições de configuração do Hive permanecem separadas entre a versão auxiliar e a versão principal. No entanto, a versão auxiliar faz referência a uma lista mesclada de substituições (primária e auxiliar). Nesse caso, a configuração auxiliar tem precedência sobre a configuração principal.

Antes de começar

Papéis necessários

Para receber a permissão necessária para criar um metastore do Dataproc que use versões auxiliares, peça ao administrador para conceder a você os seguintes papéis do IAM no seu projeto, com base no princípio de privilégio mínimo:

  • Conceder controle total dos recursos do metastore do Dataproc (roles/metastore.editor)
  • Permitir acesso total a todos os recursos do metastore do Dataproc, incluindo a administração de políticas do IAM (roles/metastore.admin)

Para mais informações sobre como conceder papéis, consulte Gerenciar o acesso.

Esse papel predefinido contém a permissão metastore.services.create, que é necessária para criar um metastore do Dataproc que usa versões auxiliares. Também é possível conseguir essa permissão com papéis personalizados ou outros papéis predefinidos.

Para mais informações sobre papéis e permissões específicas do metastore do Dataproc, consulte Gerenciar o acesso do Dataproc com o IAM.

Criar uma versão auxiliar para um novo serviço

O exemplo a seguir mostra uma versão abreviada das etapas seguidas para ativar as versões auxiliares. Para instruções passo a passo completas sobre todo o processo que você precisa seguir, consulte Criar um metastore do Dataproc.

Console

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

    Abrir o metastore do Dataproc

  2. Na parte superior da página Metastore do Dataproc, clique no botão Criar.

    A página Criar serviço é aberta.

  3. Em Configuração da versão auxiliar, ative as versões auxiliares.

  4. Clique em Adicionar versão auxiliar.

    1. Digite um nome para sua versão auxiliar.

    2. Selecione uma versão para sua versão auxiliar.

    3. Opcional: para aplicar um mapeamento à versão auxiliar, clique em + Adicionar substituições.

    4. Clique em Concluído.

  5. Se necessário, escolha as configurações restantes do seu serviço.

  6. Selecione Enviar.

CLI da gcloud

  1. Para criar um serviço do metastore do Dataproc com uma versão auxiliar, execute um dos seguintes comandos gcloud beta metastore services create:

    gcloud beta metastore services create SERVICE \
        --location=LOCATION \
        --auxiliary-versions=AUXILIARY_VERSIONS, ...
    

    ou

    gcloud beta metastore services create SERVICE \
        --location=LOCATION \
        --auxiliary-versions-from-file=AUXILIARY_VERSIONS_FROM_FILE
    

    Substitua:

    • SERVICE: o nome do novo serviço do metastore do Dataproc.
    • LOCATION: a região em que você quer criar o serviço do metastore do Dataproc.
    • AUXILIARY_VERSIONS: uma lista separada por vírgulas das versões do metastore Hive para implantar na versão auxiliar. Atualmente, apenas uma versão auxiliar é compatível. Use o seguinte formato "2.3.6".
    • AUXILIARY_VERSIONS_FROM_FILE: um caminho para um arquivo YAML que contém a configuração de versões auxiliares. Para ver mais informações e um exemplo, consulte a documentação do SDK.
  2. Verifique se a criação foi bem-sucedida.

curl

Para criar um serviço do metastore do Dataproc com uma versão auxiliar, use o método create.

curl -X POST -s -i \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -d '{"network":"projects/PROJECT_ID/global/networks/default", "port": 9083, "hive_metastore_config": {"auxiliary_versions": {"aux-version1": {"version": "AUX_VERSION"} } } }' \
     -H "Content-Type:application/json" \
     https://metastore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/services?service_id=SERVICE_ID

Substitua:

  • SERVICE_ID: o nome do novo serviço do metastore do Dataproc.
  • PROJECT_ID: o ID do projeto do Google Cloud em que você está criando o cluster de serviço do Dataproc Metastore.
  • LOCATION: a região em que o metastore do Dataproc reside.
  • AUX_VERSIONS: uma lista separada por vírgulas de versões de metastore do Hive que devem ser implantadas. Atualmente, apenas uma versão auxiliar é compatível.

Atualizar uma versão auxiliar de um serviço atual

As instruções a seguir mostram como atualizar um serviço atual do metastore do Dataproc com versões auxiliares.

Ao executar uma operação de atualização, é possível concluir as seguintes tarefas:

  • Adicione uma nova versão auxiliar.
  • Exclua uma versão auxiliar atual.
  • Adicione ou modifique substituições de uma versão auxiliar atual.

Console

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

    Abrir o metastore do Dataproc

  2. Na página Metastore do Dataproc, clique no nome do serviço que você quer atualizar.

    A página Detalhes do serviço é aberta.

  3. Na guia Configuração, clique em Editar.

    A página Editar serviço é aberta.

  4. Na seção Configuração auxiliar de versão, clique no botão para ativar ou desativar as versões auxiliares.

    É possível realizar as seguintes tarefas:

    1. Para excluir uma versão auxiliar atual, clique em Excluir.

    2. Para adicionar uma nova versão auxiliar, clique em Adicionar versão auxiliar.

    3. Para aplicar um mapeamento de modificação a uma versão auxiliar, clique em + Adicionar substituições.

  5. Selecione Enviar.

CLI da gcloud

  1. Para atualizar um serviço do metastore do Dataproc com uma versão auxiliar, execute um dos seguintes comandos gcloud beta metastore services update:

    gcloud beta metastore services update SERVICE \
       --location=LOCATION \
       --add-auxiliary-versions=AUXILIARY_VERSIONS, ...
    

    ou

    gcloud beta metastore services update SERVICE \
       --location=LOCATION \
       --update-auxiliary-versions-from-file=AUXILIARY_VERSIONS_FROM_FILE
    

    Substitua:

    • SERVICE: o nome do serviço do metastore do Dataproc.
    • LOCATION: a região em que o metastore do Dataproc reside.
    • AUXILIARY_VERSIONS: uma lista separada por vírgulas de versões de metastore do Hive que devem ser implantadas.
    • AUXILIARY_VERSIONS_FROM_FILE: um caminho para um arquivo YAML que contém a configuração de versões auxiliares. Para mais informações e um exemplo, consulte a documentação do SDK.
  2. Verifique se a atualização foi concluída.

curl

Para atualizar um serviço do metastore do Dataproc com uma versão auxiliar, use o método patch.

curl -X PATCH -s -i \
   -H "Authorization: Bearer $(gcloud auth print-access-token)" \
   -d '{"hive_metastore_config": {"auxiliary_versions": {"aux-version1": {"version": "AUX_VERSION} } } }' \
   -H "Content-Type:application/json" \
   https://metastore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/services/SERVICE_ID?update_mask=hive_metastore_config.auxiliary_versions

Substitua:

  • SERVICE_ID: o nome do serviço do metastore do Dataproc.
  • PROJECT_ID: o ID do projeto do Google Cloud em que você está criando o cluster de serviço do Dataproc Metastore.
  • LOCATION: a região em que o metastore do Dataproc reside.
  • AUX_VERSIONS: uma lista separada por vírgulas de versões de metastore do Hive que devem ser implantadas.

A seguir