Olá pessoal,
Hoje irei entrar um pouco mais fundo no HDFS. Comentando sobre o sistema distribuído, formato do cluster, tamanho dos arquivos, acesso aos dados e sobre o Hardware.
Sistema distribuído de Arquivos do Hadoop
- Otimizado para utilizar grande massa de dados
- Quebra arquivos em partes de maneira que seja possível distribuir os dados entre as máquinas em cluster
- Essa necessidade vem de que uma máquina só não consegue realizar tal processamento devido que esse arquivo(vamos chama-lo de dataset) extrapola o armazenamento de uma máquina
- Dessa forma é feito o particionamento desse dataset entre outras máquinas que estão interligadas no cluster
- Responsável por gerenciar e armazenar os dados através de uma rede
- o mesmo dado que está sendo processado por um nó é replicado para outros nós. Pois no caso de um nó falhar o dado não processado não é perdido, um outro nó tem a responsabilidade de realizar a tarefa
- O qual é o maior desafio. Gerenciar e tolerar falhas com o objetivo de evitar a perda de informação
- O HDFS é o sistema distribuído do hadoop que garante a tolerância a falha através da replicação de blocos de dados através dos nós do cluster.
Formato do Cluster
- Máquina Master, que é o Mestre do cluster. É quem distribui trabalho para os Slaves e é quem controla o HDFS
- Máquinas Slaves, que são controladas pelo Master.
- O ideal é ter um backup do master, que é o que garante a tolerância a falhas do master. não é comum ter uma máquina ociosa para garantir o master, deve ser pensado conforme a necessidade de negócio
- Caso o sistema não seja critico, não existe a necessidade de ter um master redundante
- É bom lembrar que o hadoop é escalável, de maneira que é possível adicionar mais nós slaves para melhorar e diminuir o tempo de processamento
Grandes Arquivos
- Megabytes, Gigabytes, Terabytes ou Petabytes de dados
- O Hadoop está preparado tanto para arquivos grandes quanto para grandes quantidades de arquivos pequenos
Acesso aos Dados
- A apache criou um sistema de arquivos para grande processamento de arquivos. O que possibilita trabalhar com grande massa de dados.
- De modo que o dado é escrito uma vez e lido muitas vezes! O Hadoop trabalha melhor escrevendo uma vez e analisando o mesmo dado por diversas perspectivas/códigos.
- A análise pode ser feita sob uma parte dos dados ou todo o conjunto(dataset) de dados.
- Primeiro fazer uma classificação e ver o resultado, depois fazer algum outro tratamento e ter outro resultado.
- É possível colocar um filtro antes de rodar algum tipo de tratamento.
Hardware
- HDFS não requer um cluster com "Super Máquinas".
- Podem ser utilizadas máquinas
- Clusters:
- Homogêneos: Máquinas que compõem o cluster com a mesma configuração
- Heterogêneo: Máquinas completamente diferentes. Com processadores e núcleos diferentes, memória ram e etc...
- O Hadoop é o responsável por lidar com a homogeneidade e com a heterogeneidade
- A máquina com melhor configuração irá receber mais pacotes do que a com menor configuração
Imagem retirada do site https://datafireball.com/2014/07/page/2/
Obrigado pela atenção. Toda e qualquer sugestão/dúvida será bem vinda