Saltar para o conteúdo principal
Versão 3.0

Configuração do Hive Metastore

ChartVersion3.0.1TypeapplicationAppVersion4.0.0
CompatibilidadeKubernetes1.32+OpenShift4.19+Rancher2.10.x+
Suporte a recursosS3suportadoExternal DBsuportado

O que é o Hive Metastore?

O chart tdp-hive-metastore instala o Apache Hive Metastore 4.0.0 no Kubernetes e entrega um serviço interno de catálogo, acedido através de endpoint Thrift na porta 9083.

Esse catálogo guarda metadados de bases de dados, tabelas, colunas, tipos, partições e localizações. Os dados das tabelas continuam no warehouse configurado; o Metastore regista como esses dados devem ser encontrados e interpretados pelos clientes.

Na prática, quando um cliente compatível quer ler uma tabela chamada vendas, por exemplo, consulta o Metastore para obter o esquema da tabela, as partições disponíveis e o caminho dos ficheiros. Hive, Spark, Trino e Iceberg são exemplos de clientes que podem consumir esse catálogo.

No TDP, o chart suporta warehouse em modo file para cenários simples ou validações, e em modo s3 para integração com armazenamento de objectos S3-compatível, como o Ozone. Os metadados do catálogo ficam em PostgreSQL, interno ou externo.

Para saber mais

Consulte Apache Hive — Conceitos, secção Hive Metastore para compreender o papel do catálogo de metadados no ecossistema de dados.

Como o Hive Metastore se integra no TDP

Clientes compatíveis
(Hive, Spark, Trino, Iceberg...)
|
| "Onde está a tabela 'vendas'?"
v
Hive Metastore --> PostgreSQL (armazena metadados)
|
| "Está no warehouse configurado"
v
Warehouse file ou S3/Ozone (onde os dados residem efectivamente)

O Hive Metastore opera como serviço de infraestrutura do plano de dados. Em vez de expor uma interface web para usuários finais, atende clientes internos que precisam de consultar ou actualizar metadados de tabelas.

Por isso, a configuração normalmente concentra-se no Service interno, no PostgreSQL de metadados e no modo de warehouse. O consumo acontece pelo endpoint Thrift do Service na porta 9083.

Componentes implementados

ComponenteDescrição
Metastore ServerServiço Thrift na porta 9083 que responde a consultas de metadados
PostgreSQL (interno ou externo)Base de dados que armazena esquemas, tabelas, partições e localizações
Jobs auxiliares TDPJobs de validação/criação de base de dados e limpeza de recursos auxiliares

Estrutura de valores (Helm)

O chart tdp-hive-metastore distribui a configuração em dois blocos:

  • tdp-hive-metastore: — configuração principal: imagem, PostgreSQL (embutido por omissão ou externo), tipo de warehouse (file ou s3), recursos, segurança.
  • TDP-Settings: — configuração opcional utilizada apenas quando postgres.enabled: false; activa os hooks TDP de validação, aprovisionamento e autenticação no PostgreSQL externo.
TDP-Settings:
externalDatabase:
enabled: false

tdp-hive-metastore:
postgres:
enabled: true
metastore:
type: file

Visão geral

PropriedadeValor
Charttdp-hive-metastore
Versão do Hive Metastore4.0.0
Versão do chart3.0.1
Registry (OCI)oci://registry.tecnisys.com.br/tdp/charts/tdp-hive-metastore
Porta Thrift9083
Exposição HTTP externaNão aplicável (acesso via ClusterIP, sem Ingress)

Páginas relacionadas

Pré-requisitos

  • Kubernetes 1.32+, Red Hat OpenShift 4.19+ ou Rancher Manager 2.10.x+
  • Helm 3.2.0+
  • Registry OCI da Tecnisys acessível pelo ambiente de instalação
  • Se usar PostgreSQL externo: instância acessível a partir do cluster, max_connections ≥ 300, e Secret administrativo no formato esperado pelo chart

Instalação

Terminal input
helm upgrade --install <RELEASE_NAME> \
oci://registry.tecnisys.com.br/tdp/charts/tdp-hive-metastore \
--version <CHART_VERSION> \
-n <NAMESPACE> --create-namespace
PlaceholderDescrição
<RELEASE_NAME>Nome do release Helm
<NAMESPACE>Namespace Kubernetes de instalação
<CHART_VERSION>Versão do chart

Verificar instalação

Terminal input
kubectl -n <NAMESPACE> get all

Espera-se Deployment/Service do metastore (e do PostgreSQL interno, se postgres.enabled: true), com nomes derivados de <RELEASE_NAME>.

Validação do Service do Metastore

O chart publica o Metastore por um Service interno na porta 9083. Após a instalação, valide se o Service possui endpoints antes de configurar clientes consumidores.

Terminal input
kubectl get endpoints -n <NAMESPACE> <RELEASE_NAME>-metastore

Se aparecer <none>, aguarde a conclusão do deploy e verifique os pods do Metastore. A página Integração — Hive Metastore mostra como utilizar esse endpoint nos consumidores.

Teste local:

Terminal input
kubectl port-forward -n <NAMESPACE> svc/<RELEASE_NAME>-metastore 9083:9083