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, acessado por endpoint Thrift na porta 9083.

Esse catálogo guarda metadados de bancos, tabelas, colunas, tipos, partições e localizações. Os dados das tabelas continuam no warehouse configurado; o Metastore registra 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, ele consulta o Metastore para obter o esquema da tabela, as partições disponíveis e o caminho dos arquivos. 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 objetos S3-compatível, como o Ozone. Os metadados do catálogo ficam em PostgreSQL, interno ou externo.

Para saber mais

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

Como o Hive Metastore se encaixa 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 de fato estão)

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

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

Componentes implantados

ComponenteDescrição
Metastore ServerServiço Thrift na porta 9083 que responde a consultas de metadados
PostgreSQL (interno ou externo)Banco que armazena esquemas, tabelas, partições e localizações
Jobs auxiliares TDPJobs de validação/criação de banco 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 padrão ou externo), tipo de warehouse (file ou s3), recursos, segurança.
  • TDP-Settings: — configuração opcional usada apenas quando postgres.enabled: false; habilita os hooks TDP de validação, provisionamento 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 se aplica (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 padrão 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 usar esse endpoint nos consumidores.

Teste local:

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