Esta página explica como usar o recurso de versões auxiliares com Metastore do Dataproc.
As versões auxiliares permitem conectar duas versões diferentes de um metastore Hive a um único serviço do metastore do Dataproc. Essa configuração permite dar suporte vários mecanismos de processamento de dados que precisam ser executados em diferentes metastores do Hive mais recentes.
Por exemplo, usando versões auxiliares, é possível conectar vários clusters do Dataproc para o 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. O cluster do Dataproc 2.0 podem se conectar a um endpoint que expõe o Hive versão 3.1.2, enquanto o O cluster do Dataproc 1.5 se conecta a um endpoint que expõe a versão do Hive 2.3.6.
Como as versões auxiliares funcionam
Quando você ativa versões auxiliares, o metastore do Dataproc expõe um endpoint separado para cada versão do metastore do Hive. No entanto, tanto os endpoints continuam compartilhando o mesmo banco de dados de metadados.
Esse recurso não permite usar diferentes conjuntos de metadados com um único serviço do Metastore do Dataproc. Em vez disso, ele oferece para ampliar e melhorar a compatibilidade entre seus serviços.
Considerações
Geral
Só é possível criar uma versão auxiliar para cada serviço Metastore do Dataproc.
A versão auxiliar precisa ser configurada para usar um metastore Hive inferior mais recente do que a principal.
A versão auxiliar mantém um arquivo de registro separado do arquivo de registro principal para a versão anterior. Para depurar problemas do metastore do Hive, você pode usar Cloud Logging:
Suporte a recursos
A versão auxiliar não é compatível com os seguintes recursos:
- Importar metadados, Exportar metadados
Fazer backup de um metastore Restaurar um metastore de um fazer backup
Os recursos relacionados a metadados (importar/exportar/backup/restaurar) só podem ser usada com a versão primária, já que os metadados de back-end entre ambos é compartilhada.
Alguns métodos Hive podem não ser compatíveis entre o auxiliar e o para a versão principal. Essa compatibilidade depende das versões do Hive que você está usando para as versões principais e auxiliares e dos métodos que são compatíveis entre as versões do Hive.
Nem todas as funções de uma instância principal do metastore do Dataproc são compatível com a versão auxiliar. Por exemplo, inserir registros A tabela transacional Hive não é suportada pela interface de um cliente Hive 2 com uma versão auxiliar 2.3.6. No entanto, essa operação é compatível com uma Interface do cliente Hive 3 com a versão primária 3.1.2.
Se um recurso em uma versão inferior do Hive for descontinuado em uma versão superior do Hive, a versão auxiliar inferior correspondente não será compatível com a versão . Por exemplo, o Hive 2 oferece suporte índices, mas um versão auxiliar que executa o Hive 2.3.6 não suportará o índice se a principal executa o Hive 3.1.2.
Criar tabelas transacionais usando a versão auxiliar ou inserindo dados em tabelas transacionais na versão auxiliar são impedidos.
Propriedades compartilhadas entre versões
Quando você cria uma versão auxiliar, algumas propriedades são compartilhados e permanecem comuns entre a versão auxiliar e a para a versão anterior. As demais propriedades não são compartilhadas e ficam separadas entre as duas versões.
A tabela a seguir lista essas diferenças.
Propriedades | Nome | Separados |
---|---|---|
Endpoint | ✓ | |
Substituições de configuração do Hive* | ✓ | |
Configuração do Kerberos | ✓ | |
Protocolo de endpoint (Thrift/gRPC) | ✓ | |
Porta de entrada | ✓ | |
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 | ✓ | |
Ativar ou desativar a sincronização do Data Catalog | ✓ | |
Métrica de contagem de solicitações | ✓ | |
Configurações de rede | ✓ |
* As substituições de configuração do Hive permanecem separadas entre as e a versão principal. No entanto, a versão auxiliar faz referência a uma lista mesclada das substituições (primária + auxiliar). Nesse caso, a configuração auxiliar tem precedência sobre a configuração principal.
Antes de começar
Papéis necessários
Para ter a permissão necessária para criar um metastore do Dataproc que use versões auxiliares, peça ao administrador para conceder a você papéis do IAM a seguir no projeto, com base no princípio de privilégio mínimo:
-
Conceder controle total dos recursos do metastore do Dataproc (
roles/metastore.editor
) -
Conceder 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 a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém
metastore.services.create
permissão,
que é necessário para
criar um metastore do Dataproc que use 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 específicos do metastore do Dataproc e do usuário, consulte Gerenciar o acesso ao Dataproc com o IAM.Criar uma versão auxiliar para um novo serviço
O exemplo a seguir mostra uma versão resumida das etapas que você segue para ativar versões auxiliares. Para instruções detalhadas sobre processo que precisa ser seguido, consulte Criar um metastore do Dataproc.
Console
No console do Google Cloud, abra a página do metastore do Dataproc:
Na parte superior da página Metastore do Dataproc, clique no botão Criar.
A página Criar serviço é aberta.
Em Configuração da versão auxiliar, ative as versões auxiliares.
Clique em Adicionar versão auxiliar.
Insira um nome para a versão auxiliar.
Selecione uma versão para a versão auxiliar.
Opcional: para aplicar um mapeamento à versão auxiliar, clique em + Adicionar substituições.
Clique em Concluído.
Escolha as configurações restantes para o serviço, conforme necessário.
Clique em Enviar.
CLI da gcloud
Para criar um serviço do Dataproc Metastore com um auxiliar versão, execute uma das seguintes
gcloud metastore services create
comandos:gcloud metastore services create SERVICE \ --location=LOCATION \ --auxiliary-versions=AUXILIARY_VERSIONS, ...
SERVICE
: o nome do serviço Metastore do Dataproc.LOCATION
: a região onde você quer criar o serviço do Dataproc Metastore.AUXILIARY_VERSIONS
: uma lista separada por vírgulas das versões do metastore do Hive a serem implantadas para a versão auxiliar. Há suporte para apenas uma versão auxiliar. Use o seguinte formato"2.3.6"
.AUXILIARY_VERSIONS_FROM_FILE
: um caminho para um arquivo YAML. contendo a configuração das versões auxiliares. Para mais e um exemplo, consulte o Documentação do SDK.
Verifique se a criação foi bem-sucedida.
curl
Para criar um serviço do Dataproc Metastore 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/v1/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 que você está criar o serviço do Dataproc Metastore.LOCATION
: a região em que o o metastore do Dataproc fica.AUX_VERSIONS
: uma lista separada por vírgulas de Hive do metastore a serem implantadas. Só é possível usar uma versão auxiliar.
Atualizar uma versão auxiliar para um serviço existente
As instruções a seguir mostram como atualizar um serviço do metastore do Dataproc que usa 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.
Adicione ou modifique substituições de uma versão auxiliar.
Console
No console do Google Cloud, abra a página do metastore do Dataproc:
Na página Metastore do Dataproc, clique no nome do serviço do serviço que você quer atualizar.
A página Detalhes do serviço é aberta.
Na guia Configuração, clique em Editar.
A página Editar serviço é aberta.
Na seção Configuração da versão auxiliar, clique no botão para ativar o recurso. ou desativar versões auxiliares.
É possível realizar as seguintes tarefas:
Para excluir uma versão auxiliar, clique em Excluir.
Para adicionar uma nova versão auxiliar, clique em Adicionar versão auxiliar.
Para aplicar um mapeamento de substituição a uma versão auxiliar, clique em + Adicionar substituições.
Clique em Enviar.
CLI da gcloud
Para atualizar um serviço do Dataproc Metastore que usa uma versão auxiliar, execute um dos seguintes comandos
gcloud metastore services update
:gcloud metastore services update SERVICE \ --location=LOCATION \ --add-auxiliary-versions=AUXILIARY_VERSIONS, ...
ou
gcloud metastore services update SERVICE \ --location=LOCATION \ --update-auxiliary-versions-from-file=AUXILIARY_VERSIONS_FROM_FILE
Substitua:
SERVICE
: o nome do serviço Metastore do Dataproc.LOCATION
: a região em que o metastore do Dataproc está localizado.AUXILIARY_VERSIONS
: uma lista separada por vírgulas de versões auxiliares do metastore Hive para implantação.AUXILIARY_VERSIONS_FROM_FILE
: um caminho para um arquivo YAML. contendo a configuração das versões auxiliares; para mais e um exemplo, consulte o Documentação do SDK.
Verifique se a atualização foi concluída.
curl
Atualizar um serviço do metastore do Dataproc que usa um
versão, 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/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE_ID?update_mask=hive_metastore_config.auxiliary_versions
Substitua:
SERVICE_ID
: o nome do serviço 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 seu o metastore do Dataproc fica.AUX_VERSIONS
: uma lista separada por vírgulas de versões auxiliares do metastore Hive para implantação.