Bigdata - Arquitetura Hadoop

Ronaldo Pimentel
Mind Map by , created about 2 years ago

Hadoop Mind Map on Bigdata - Arquitetura Hadoop, created by Ronaldo Pimentel on 10/12/2017.

46
3
0
Ronaldo Pimentel
Created by Ronaldo Pimentel about 2 years ago
Key Biology Definitions/Terms
mia.rigby
SAT Sample Essay - Failure/ Success
nedtuohy
how to learn English
Hissa Abdullatif
APUSH End-of-Year Cram Exam: Set 1
Nathaniel Rodriguez
1PR101 2.test - Část 18.
Nikola Truong
BigData Divisão Aulas
Ronaldo Pimentel
BigData Divisão Aulas
Juliana Stenico
Epithelial tissue
Morgan Morgan
Biology: B2.1, cells and simple cell transport; B2.2, tissues, organs and organ systems
Henry Kitchen
GCSE History of Medicine: Key Individuals
James McConnell
Bigdata - Arquitetura Hadoop
1 Características
1.1 Rápido
1.2 Volume
1.3 diferentes fontes
2 Tecnologias
2.1 Hadoop é um framework em código aberto para armazenamento e processamento distribuídos de grandes conjuntos de dados em hardware simples
2.1.1 Projeto Nutch - Doug Cutting e Mike Cafarella. havia problemas de escalabilidade.
2.1.1.1 Escalabilidade Conforme o aumento do volume de dados, é necessário que aumente a escalabilidade. Existem dois tipos: - Vertical: Aumentar o poder de processamento e armazenamento das máquinas - Horizontal: Aumentar o número de máquinas
2.1.1.1.1 Hadoop foi Criado em 2005 a partir do white paper google "The Google File System" (GFS)
2.1.1.1.1.1 Hadoop
2.1.1.1.1.1.1 HDFS
2.1.1.1.1.1.1.1 escalabilidade horizontal --> em VARIAS maquinas
2.1.1.1.1.1.1.2 Arquivo é quebrado em vários pedaços de 64MB. padrão de mercado. Horton Claudera já utilizam tamanho maior.
2.1.1.1.1.1.1.3 É feito três cópias e distribuído pelo cluster
2.1.1.1.1.1.1.4 Algoritmo de distribuição é pensado para segurança do dado e aproveitamento do recurso.
2.1.1.1.1.1.1.5 Nodes
2.1.1.1.1.1.1.5.1 Namenode NN
2.1.1.1.1.1.1.5.1.1 NameNode is the centerpiece of HDFS. NameNode is also known as the Master NameNode only stores the metadata of HDFS – the directory tree of all files in the file system, and tracks the files across the cluster. NameNode does not store the actual data or the dataset. The data itself is actually stored in the DataNodes. NameNode knows the list of the blocks and its location for any given file in HDFS. With this information NameNode knows how to construct the file from blocks. NameNode is so critical to HDFS and when the NameNode is down, HDFS/Hadoop cluster is inaccessible and considered down. NameNode is a single point of failure in Hadoop cluster. NameNode is usually configured with a lot of memory (RAM). Because the block locations are help in main memory.
2.1.1.1.1.1.1.5.1.2 fsimage - Its the snapshot of the filesystem when namenode started
2.1.1.1.1.1.1.5.1.3 Edit logs - Its the sequence of changes made to the filesystem after namenode started
2.1.1.1.1.1.1.5.1.3.1 Only in the restart of namenode , edit logs are applied to fsimage to get the latest snapshot of the file system. But namenode restart are rare in production clusters which means edit logs can grow very large for the clusters where namenode runs for a long period of time. The following issues we will encounter in this situation. Editlog become very large , which will be challenging to manage it Namenode restart takes long time because lot of changes has to be merged In the case of crash, we will lost huge amount of metadata since fsimage is very old
2.1.1.1.1.1.1.5.1.4 fontes: http://hadoopinrealworld.com/namenode-and-datanode/ http://blog.madhukaraphatak.com/secondary-namenode---what-it-really-do/
2.1.1.1.1.1.1.5.2 Secondary namenode SNN - Secondary Namenode helps to overcome the above issues by taking over responsibility of merging editlogs with fsimage from the namenode.
2.1.1.1.1.1.1.5.2.1 It gets the edit logs from the namenode in regular intervals and applies to fsimage Once it has new fsimage, it copies back to namenode Namenode will use this fsimage for the next restart,which will reduce the startup time Secondary Namenode whole purpose is to have a checkpoint in HDFS. Its just a helper node for namenode.That’s why it also known as checkpoint node inside the community. So we now understood all Secondary Namenode does puts a checkpoint in filesystem which will help Namenode to function better. Its not the replacement or backup for the Namenode. So from now on make a habit of calling it as a checkpoint node.
2.1.1.1.1.1.1.5.3 DataNode
2.1.1.1.1.1.1.5.3.1 DataNode is responsible for storing the actual data in HDFS. DataNode is also known as the Slave NameNode and DataNode are in constant communication. When a DataNode starts up it announce itself to the NameNode along with the list of blocks it is responsible for. When a DataNode is down, it does not affect the availability of data or the cluster. NameNode will arrange for replication for the blocks managed by the DataNode that is not available. DataNode is usually configured with a lot of hard disk space. Because the actual data is stored in the DataNode.
2.1.1.1.1.1.1.5.3.2 usa disco
2.1.1.1.1.1.1.5.4 usa memória
2.1.1.1.1.1.2 MapReduce
2.1.1.1.1.1.2.1 Caracteristicas
2.1.1.1.1.1.2.1.1 Arcabouço de software para facilitar a execução de aplicações que processam um grande volume de dados em um cluster de milhares de nós de hardware convencional de maneira tolerante a falhas.
2.1.1.1.1.1.2.1.2 Tolerância a falhas ;Balanceamento de carga; Comunicação entre máquinas; Escalonamento de tarefas; Alocação de máquinas; Escalabilidade
2.1.1.1.1.1.2.1.3 Processo computacional que utiliza chave e valores. Usa força bruta - todo o conjunto de dados é processado em cada query. Modelo de processamento batch Flexibilidade - Pode processar vários tipos de arquivo, dados estruturados ou não estruturado. Confiabilidade - Processa vários jobs em paralelo sem que a falha de um afete o outros. Acessibilidade - suporta várias linguagens(Java, C++, Python, Apache Pig).
2.1.1.1.1.1.2.2 JobTracker (JT) • Nó mestre • Gerenciador de tarefas MapReduce
2.1.1.1.1.1.2.2.1 Um programa completo Uma aplicação
2.1.1.1.1.1.2.2.1.1 Classes Mapper
2.1.1.1.1.1.2.2.1.2 Classes Reducer
2.1.1.1.1.1.2.2.1.3 Classes Driver
2.1.1.1.1.1.2.2.2 Mova as tarefas, não os dados 1. Uma aplicação cliente submete um job ao JobTracker 2. JobTracker se comunica com o NameNode para determinar a localização dos dados 3. JobTracker localiza os nós TaskTrackers próximos aos dados 4. JobTracker submete as tarefas aos nós TaskTrackers
2.1.1.1.1.1.2.3 TaskTracker (TT) • Executam as tarefas MapReduce
2.1.1.1.1.1.2.3.1 Execução de um Mapper ou Reducer sobre uma fatia dos dados
2.1.1.1.1.1.2.3.2 1 - Tarefas Map
2.1.1.1.1.1.2.3.2.1 Recebe dados
2.1.1.1.1.1.2.3.2.2 Split dos dados
2.1.1.1.1.1.2.3.2.3 Apuração chave/valor por nó
2.1.1.1.1.1.2.3.3 Tolerância a falhas 1. Em um grande cluster, as máquinas ficam lentas ou falham com frequência 2. MapReduce oferece recuperação automática de tarefas que falharam 3. MapReduce redireciona tarefas falhas para outros nós do cluster
2.1.1.1.1.1.2.3.4 3 - Tarefas Reduce
2.1.1.1.1.1.2.3.4.1 Recebe os dados no formato chave/valor
2.1.1.1.1.1.2.3.4.2 Sumariza de acordo com a necessidade
2.1.1.1.1.1.2.3.4.3 Entrega a apuração final
2.1.1.1.1.1.2.3.5 2 - Shuffle and sort
2.1.1.1.1.1.2.3.5.1 Agrupa em uma estrutura de coleção todos os valores escritos no Map para um mesmo valor de chave, e depois os envia para tarefas da fase Reduce
2.1.1.1.1.1.2.4 Modelo chave/valor
2.1.1.1.1.1.2.5 fontes: http://www.univale.com.br/unisite/mundo-j/artigos/53_Mapreduce.pdf http://blog.werneckpaiva.com.br/2011/08/como-funciona-o-map-reduce-usado-pelo-google/
2.1.1.1.1.1.3 Modos de execução BIG DATA • Local (standalone) – Executado como um único processo java – Recomendado para depuração de código • Pseudo-distribuído – Todos os componentes Hadoop são executados em uma única máquina – Cada componente é executado em um processo java separado • Completamente distribuído – Cluster Hadoop utilizando múltiplas máquinas
2.1.1.1.1.1.4 … é um framework open source desenvolvido em Java … é projetado para manipular grande volume de dados … é projetado para ser escalável em milhares de máquinas … é projetado para ser executado em hardware de baixo custo … oferece resiliência por meio da replicação de dados … oferece recuperação automática do processo em caso de falha … faz distribuição automática dos dados no cluster … projetado para levar o processamento para o dado
2.1.1.1.2 Em 2004 o Google lança o white paper "MapReduce: Simplified Data Processing on Large Clusters"

Media attachments