Mostrando postagens com marcador HDFS Hadoop. Mostrar todas as postagens
Mostrando postagens com marcador HDFS Hadoop. Mostrar todas as postagens

terça-feira, 5 de julho de 2016

Entendendo um pouco mais sobre o relacionamento do HDFS com Namenode e Datanode

Bom dia a todos,

Hoje venho abordar um pouco sobre o que são os Namenodes e o que são os Datanodes. O que eles comem, onde vivem e como se reproduzem.



Um cluster hadoop possui dois tipos de nós:

Namenode(nó mestre)
  • Geralmente 1 ou 2 nós. serão 2 quando for necessário manter uma redundância
  • Controla arquivos que entram, que saem e e seu local no sistema de arquivos
  • É o grande responsável por gerenciar o HDFS. Trabalha no nível gerencial
  • Acesso garantido a todos os nós do cluster. 
  1. Acesso ilimitado ao HDFS das máquinas do cluster. De maneira que possa ler e escrever
  • O HDFS sem o ter o namenode não funciona. Pois é necessário um gerenciador (Namenode)
  • Funções:
  1. Particiona os arquivos e mandar armazenar nos datanodes
  2. Tem o endereço de cada bloco de endereço de dados
  3. Encaminha bloco de dados aos Datanodes
  4. Fica no nó mestre da aplicação
  • Quando ocorre uma falha:
  1. Todos os arquivos serão perdidos, exceto se tiver a replicação desses blocos de arquivos nos datanodes
  • Recuperação
  1. Backup nos datanodes
  2. Ter um segundo namenode
Datanode (nó escravo)
  • Número ilimitado de nós. Quanto mais nós maior a força de trabalho
  • Dispensável em caso de alguma falha desde que os dados de um datanode também esteja em outro datanode
  • Tem como função resumida de Processar, devolver e armazenar
  • São os trabalhadores que processam os arquivos
  • Dependem de instruções repassadas pelo namenode
  • Armazenam os blocos de dados do HDFS
  • Periodicamente encaminham uma lista ao namenode de tudo que eles tem em seu HDFS. Tal parâmetro é configurável de maneira que envie esse sinal em um tempo maior ou menor

Muito obrigado por toda atenção. Toda e qualquer dúvida/sugestão será bem vinda.

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