Pular para o conteúdo
Hadoop

Hadoop · tema 4 de 30

Hadoop: conceito e arquitetura

35 min · 2 vídeos · 14 cards · 2 drill

Por que cai

Hadoop é o pano de fundo de quase todo conceito de engenharia de dados moderna. A banca pergunta menos 'o que é' e mais 'ainda faz sentido', porque essa é a pergunta que revela se você entende separação de armazenamento e computação.

Pré-teste · 1 de 2

responda antes de ver

Por que o HDFS replica cada bloco três vezes em vez de usar RAID no servidor?

Confiança:

Vídeo · português · 19 min

Vem de um canal brasileiro de engenharia de dados e apresenta o Hadoop já no contexto de por que o mercado migrou para Spark. É exatamente o ângulo que a banca cobra.

Em uma frase

Hadoop é um framework para armazenar e processar dado em escala usando muitas máquinas comuns, com o HDFS cuidando do armazenamento distribuído e o YARN repartindo os recursos entre as aplicações.

A premissa: hardware comum e falha como rotina

Antes do Hadoop, escalar significava comprar uma máquina maior e um storage caro. O Hadoop inverteu a aposta: usar hardware commodity, servidor comum sem storage especializado, e assumir no software que máquina falha o tempo todo.

Isso muda quem é responsável por quê. Confiabilidade deixa de ser característica do equipamento e passa a ser característica do sistema distribuído. E escalar deixa de ser trocar de máquina e passa a ser somar máquinas, o que traz três problemas novos: como dividir o dado, como sobreviver à perda de um nó e como coordenar o processamento.

HDFS: armazenamento distribuído

O HDFS é mestre e escravo.

O NameNode é o mestre e guarda apenas metadado: a árvore de diretórios, quais blocos formam cada arquivo e em quais nós está cada réplica. Ele não trafega dado. Isso o torna leve, mas também o torna ponto único de falha e o limite prático para a quantidade de arquivos do cluster.

Os DataNodes são os escravos. Guardam os blocos nos discos locais, atendem leitura e escrita dos clientes e mandam heartbeat e relatório de blocos ao NameNode. Se um heartbeat para de chegar, o NameNode considera o nó perdido e manda recriar as réplicas que estavam nele.

O arquivo é quebrado em blocos grandes, 128 MB por padrão. Bloco grande amortiza o custo de posicionar a cabeça do disco e reduz o volume de metadado no NameNode. É coerente com o desenho: HDFS é para leitura sequencial de arquivo grande, não para acesso aleatório.

Por que replicação 3 e não RAID

Cada bloco é gravado em três nós por padrão, com pelo menos uma cópia em outro rack. A pergunta que a banca faz é por que não usar RAID.

Porque resolvem problemas diferentes. RAID protege contra a falha de um disco dentro de um servidor. Em um cluster de hardware comum, o que cai é o servidor inteiro — fonte, placa, sistema operacional — ou o rack inteiro, por switch ou energia. Réplica em outro nó cobre esse cenário; RAID não.

Tem um segundo ganho: com três cópias, três nós podem servir o mesmo bloco, o que dá paralelismo de leitura e mais opções de agendar a tarefa perto do dado.

O preço é 200% de espaço extra. É exatamente esse preço que o armazenamento de objetos com codificação de apagamento cobrou mais barato depois.

YARN: gerenciamento de recursos

O YARN responde por CPU e memória, não por dado.

O ResourceManager é o escalonador global: recebe pedidos das aplicações e decide quem recebe quantos contêineres, aplicando fila e política de prioridade. O NodeManager roda em cada nó, sobe os contêineres que o mestre alocou e reporta o consumo.

A mudança que o YARN trouxe no Hadoop 2 foi separar o gerenciamento de recursos do modelo de processamento. Antes, o cluster só sabia rodar MapReduce. Depois do YARN, Spark e outros motores passaram a dividir o mesmo cluster — e isso, na prática, foi o que permitiu a migração para Spark sem trocar a infraestrutura.

O ecossistema em volta

FerramentaO que faz em uma frase
HiveInterface SQL sobre arquivos no HDFS, traduzindo consulta em job distribuído
HBaseBanco NoSQL orientado a coluna sobre HDFS, para leitura e escrita aleatória por chave
SqoopTransferência em lote entre banco relacional e HDFS, típica de ingestão de core bancário

Por que Hadoop perdeu espaço

Não foi só porque Spark é mais rápido. A razão é estrutural: o HDFS acopla armazenamento e computação, e esses dois recursos crescem em ritmos diferentes.

Para guardar mais dado no HDFS você precisa de mais nós ligados, mesmo que não esteja processando nada. Para processar um pico você precisa de nós que ficam ociosos no resto do mês. Você paga os dois o tempo todo.

Com armazenamento de objetos, o desenho vira outro:

  1. 1O dado vive no S3, durável e barato por gigabyte, independente de qualquer cluster estar ligado.
  2. 2A computação sobe sob demanda: um cluster Spark efêmero lê do S3, processa e é destruído.
  3. 3Vários times sobem clusters diferentes sobre o mesmo dado, sem disputar o mesmo cluster nem duplicar o armazenamento.
  4. 4Durabilidade e disponibilidade são responsabilidade do provedor — não há NameNode para operar em alta disponibilidade.

O argumento técnico mais forte a favor do HDFS era data locality: levar a computação ao nó que tem o bloco para evitar tráfego de rede. Ele fazia muito sentido quando a rede do datacenter era o gargalo. Com as redes atuais, ler do armazenamento de objetos deixou de ser o fator dominante, e o ganho de elasticidade e custo passou a pesar mais.

Como responder isso em voz alta

Comece pela premissa — hardware comum, falha como rotina — porque ela explica todo o resto. Descreva HDFS e YARN separando quem cuida de dado de quem cuida de recurso. Justifique a replicação contra falha de nó e de rack, contrastando com RAID. E feche com a separação de armazenamento e computação, dizendo onde o HDFS ainda se justifica. Reconhecer o caso que continua válido é o que transforma a resposta em julgamento, não em opinião de moda.

Se quiser outro ângulo

Cobre o ecossistema em volta, que o primeiro vídeo trata de passagem. Assista para saber dizer em uma frase o que é Hive, HBase e Sqoop sem hesitar.

Como cai na sabatina

HDFS ainda faz sentido se a empresa está na AWS?

Erros comuns

  • Dizer que Hadoop é um banco de dados. Hadoop é um framework de armazenamento e processamento distribuído; quem oferece semântica de tabela é o Hive por cima dele.
  • Confundir HDFS com YARN. HDFS guarda arquivo em blocos replicados; YARN reparte CPU e memória entre aplicações. São responsabilidades separadas desde o Hadoop 2.
  • Achar que replicação substitui backup. Réplica protege contra falha de disco e de nó; ela copia fielmente o comando de exclusão e a corrupção lógica.
  • Tratar o NameNode como detalhe. Ele guarda os metadados de todo o sistema de arquivos; sem alta disponibilidade, é ponto único de falha e limita o número de arquivos pequenos.
  • Dizer que Hadoop morreu. O que perdeu espaço foi o HDFS como camada de armazenamento primária; YARN, Hive e o modelo de processamento distribuído deixaram herança direta no que se usa hoje.
  • Explicar a queda do Hadoop só por 'Spark é mais rápido'. A razão estrutural é separar armazenamento de computação, o que permite escalar e pagar cada um por conta.

Flashcards

Card 1 de 14

0 certos · 0 a rever

Drill

De quem é essa responsabilidade?

Diga qual componente responde por cada função. Fale em voz alta antes de conferir.

  1. 1.Saber em quais máquinas estão as três réplicas do bloco 7 do arquivo de transações.

  2. 2.Gravar fisicamente o bloco no disco local e confirmar a escrita.

  3. 3.Decidir que a aplicação de score de fraude recebe 40 contêineres agora e a de fechamento espera.

  4. 4.Subir o contêiner naquele servidor específico e reportar quanto de memória ele está usando.

  5. 5.Receber o heartbeat que avisa que um servidor sumiu e disparar a recriação das réplicas perdidas.

Drill

HDFS ou armazenamento de objetos?

Para cada situação, decida qual camada de armazenamento faz mais sentido hoje e por quê.

  1. 1.Data lake de transações do banco na AWS, consultado por vários times em horários diferentes.

  2. 2.Resultado intermediário de um job pesado dentro de um cluster EMR, descartado ao final.

  3. 3.Histórico de sete anos de extratos que precisa sobreviver ao desligamento do cluster.

  4. 4.Cluster on-premises já pago, com dado sensível que não pode sair do datacenter por decisão regulatória.

Quiz · 1 de 2

Qual foi a principal mudança arquitetural que o YARN trouxe no Hadoop 2?

Explique para um gerente

Explique para um gestor de infraestrutura por que o banco troca um storage caro por trinta máquinas comuns com três cópias de cada arquivo.

Responda em voz alta antes de seguir. Se travar numa palavra técnica, é sinal de que ainda não entendeu essa parte.

Perguntas de sabatina deste tema

  • · A empresa está migrando para a AWS. HDFS ainda faz sentido? Justifique.
  • · Explique a arquitetura do HDFS e por que ele replica cada bloco três vezes.
Responder no simulado

Para ir além

PróximoMapReduce