terça-feira, 21 de junho de 2016

Formato e Conceitos do HDFS

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

Nenhum comentário:

Postar um comentário