Saltar para o conteúdo principal
Versão Next 🚧

Configuração do Apache Ozone

O chart tdp-ozone implanta o Apache Ozone — armazenamento de objetos compatível com S3 — no Kubernetes para o TDP.

O que é o Apache Ozone?

O Apache Ozone é um sistema de armazenamento de objetos distribuído compatível com a API do S3 da Amazon.

No TDP Kubernetes, ele cumpre o papel do S3: é onde os dados ficam armazenados — arquivos Parquet, tabelas Delta Lake, tabelas Iceberg, logs, modelos.

A principal vantagem do Ozone sobre usar o S3 da Amazon diretamente é que ele roda dentro do cluster Kubernetes, eliminando a dependência de serviços externos e reduzindo latência e custo de transferência.

Para saber mais

Consulte Apache Ozone — Conceitos para uma visão completa da ferramenta, sua arquitetura e funcionamento.

Como o Ozone se encaixa no TDP

O Ozone é usado como storage pelo Spark (via protocolo S3A), pelo Trino (via conector S3 nativo), e opcionalmente pelo ClickHouse.

Do ponto de vista das aplicações, o Ozone é transparente: elas apontam para s3a://bucket/caminho e o protocolo S3 cuida do resto.

Arquitetura do Ozone

O Ozone é composto por quatro serviços que precisam estar disponíveis para o cluster funcionar:

ServiçoFunçãoPorta
S3 Gateway (REST)Endpoint S3-compatível para leitura e escrita de dados9878
S3 Gateway (Web UI)Interface web de monitoramento do S3 Gateway19878
Ozone Manager (OM)Gerencia namespaces, volumes, buckets e metadados9874
Storage Container Manager (SCM)Gerencia onde os blocos de dados estão nos datanodes9876
ReconInterface administrativa e de monitoramento do cluster9888

Os datanodes são os nós que efetivamente armazenam os dados. O número de datanodes (ozone.datanode.replicas) determina a capacidade de storage e o fator de replicação suportado.

Instalação (OCI)

Terminal input
helm upgrade --install <release> \
oci://registry.tecnisys.com.br/tdp/charts/tdp-ozone \
-n <namespace> --create-namespace \
-f meu-values.yaml

Componentes

O Apache Ozone é composto por quatro serviços, cada um com seu próprio Service e Ingress opcional:

ServiçoDescriçãoPorta padrão
S3 Gateway REST (s3g-rest)Endpoint S3-compatível para operações de dados9878
S3 Gateway Web UI (s3g-web)Interface web do S3 Gateway19878
Ozone Manager (om)Gerenciador de namespaces e metadados9874
SCM (scm)Storage Container Manager9876
Recon (recon)Interface de monitoramento e administração9888

Autenticação S3

O S3 Gateway utiliza autenticação AWS Signature v4 (modo simples, sem Kerberos).

Criar Secret de credenciais

Terminal input
kubectl -n <namespace> create secret generic ozone-s3-credentials \
--from-literal=aws_access_key_id="<AWS_ACCESS_KEY_ID>" \
--from-literal=aws_secret_access_key="<AWS_SECRET_ACCESS_KEY>"

Referencie o Secret no arquivo de valores do Helm, por exemplo:

ozone:
s3g:
auth:
enabled: true
secretName: "ozone-s3-credentials"

Configurar AWS CLI para acesso

Terminal input
aws configure set aws_access_key_id <AWS_ACCESS_KEY_ID>
aws configure set aws_secret_access_key <AWS_SECRET_ACCESS_KEY>
aws configure set region us-east-1

# Testar (use o host do Ingress ou o endpoint que você expôs)
aws s3 ls --endpoint-url=http://<s3-rest-host>

Persistência

Habilite persistência para os componentes que necessitam de armazenamento:

ozone:
datanode:
persistence:
enabled: true
storageClassName: "<storage-class>"
size: 100Gi

om:
persistence:
enabled: true
storageClassName: "<storage-class>"
size: 10Gi

scm:
persistence:
enabled: true
storageClassName: "<storage-class>"
size: 10Gi

Parâmetros principais

ParâmetroDescriçãoPadrão
ozone.enabledHabilitar Ozonetrue
ozone.image.tagVersão da imagem Ozone2.0.0
ozone.datanode.replicasNúmero de datanodes3
ozone.om.replicasRéplicas do Ozone Manager1
ozone.scm.replicasRéplicas do SCM1
ozone.recon.replicasRéplicas do Recon1
ozone.s3g.replicasRéplicas do S3 Gateway1
ozone.s3g.auth.enabledHabilitar autenticação S3true
ozone.s3g.auth.secretNameNome do Secret com credenciais S3ozone-s3-credentials
ingress.s3g.rest.enabledHabilitar Ingress do S3 Gateway RESTtrue
ingress.s3g.web.enabledHabilitar Ingress do S3 Gateway Web UItrue
ingress.om.enabledHabilitar Ingress do Ozone Managertrue
ingress.scm.enabledHabilitar Ingress do SCMtrue
Ingress

Consulte a página Ingress — Apache Ozone para configurar a exposição externa de cada serviço.

Integrações

O Apache Ozone é usado como storage S3-compatível por outros componentes TDP. Consulte Integrações — Apache Ozone para configurar Spark e Trino com Ozone.

Acesso via port-forward

Terminal input
# S3 Gateway REST
kubectl -n <namespace> port-forward svc/<release>-s3g-rest 9878:9878

# Ozone Manager UI
kubectl -n <namespace> port-forward svc/<release>-om 9874:9874

# Recon UI
kubectl -n <namespace> port-forward svc/<release>-recon 9888:9888

Desinstalação

Terminal input
helm uninstall <release> -n <namespace>