Hadoop - HDFS. Universidade Federal de Goiás Ciência da Computação



Documentos relacionados
Armazenando grandes quantidades de dados

(HDFS) Usando o. hadoop_

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 23. Sistemas Operacionais Distribuídos

Sistemas Distribuídos

Bruno Antunes da Silva UFSCar - Sorocaba

Mecanismos de Comunicação. Sockets em java (

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução

Sistemas Operacionais. Conceitos de um Sistema Operacional

Arquitetura dos Sistemas de Informação Distribuídos

Programação com sockets (em Java)

BIG DATA: UTILIZANDO A INTERNET PARA TOMADA DE DECISÕES

Camada de Transporte. Bruno Silvério Costa

Modelos de Arquiteturas. Prof. Andrêza Leite

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos

SISTEMAS DISTRIBUIDOS

Sistemas Distribuídos

Programação Orientada a Objetos

Introdução. Sistemas Operacionais

1

Modelos de Sistemas Distribuídos. . Requerimentos de Projeto para Arquiteturas Distribuídas

SERVIÇO DE NOMES. Sistemas Distribuídos. Vinícius Pádua

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

10/07/2013. Camadas. Principais Aplicações da Internet. Camada de Aplicação. World Wide Web. World Wide Web NOÇÕES DE REDE: CAMADA DE APLICAÇÃO

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos

Considerações no Projeto de Sistemas Cliente/Servidor

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes.

RevISTa: Publicação técnico-científica do IST-Rio. nº 05 Data: Dezembro / 2012 ISSN

Invocação de Métodos Remotos

Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

SISTEMAS DISTRIBUÍDOS

HadoopDB. Edson Ie Serviço Federal de Processamento de Dados - SERPRO

Sistemas Distribuídos

Projeto: Camada Independente de Dispositivo

Linguagem Java. Arquitetura e Ambiente de Desenvolvimento. Arquitetura e Ambiente de Desenvolvimento Prof. Anderson Augustinho Uniandrade

Sistemas Operacionais

Capítulo II Modelos de Programação Distribuída

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Sistema de arquivos. Prof. Valeria M. Bastos Prof. Antonio Carlos Gay Thomé 13/06/2012 1

Sistemas Distribuídos Visão Geral de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)

Aula 03-04: Modelos de Sistemas Distribuídos

Sistemas de Ficheiros. 1. Ficheiros 2. Directórios 3. Implementação de sistemas de ficheiros 4. Exemplos de sistemas de ficheiros

MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER

Windows NT 4.0. Centro de Computação

Introdução à Linguagem Java

Sistemas Distribuídos

Padrão Arquitetura em Camadas


Capítulo 6. Java IO - Ficheiros

Análise de Big Data Streams

Outlook XML Reader Versão Manual de Instalação e Demonstração UNE Tecnologia

Um pouco do Java. Prof. Eduardo

Profs. Deja e Andrei

SISTEMAS OPERACIONAIS

UFG - Instituto de Informática

Java : Comunicação Cliente-Servidor.

SISTEMAS DISTRIBUÍDOS

Prática em Laboratório N.02 Criando um serviço Web via NetBeans

Computador = Hardware + Dados

Engenharia de software 2011A. Trabalho sobre

Treinamento em Apache Spark com Scala - Fundamental

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

Alocação Dinâmica e Transparente de Computadores Ociosos em Java

Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta

OBJETOS DISTRIBUÍDOS E INVOCAÇÃO REMOTA

Sistemas Cliente-Servidor

Servidor, Proxy e Firewall. Professor Victor Sotero

Redes de Computadores Aula 3

Sistemas Distribuídos

MCITP: ENTERPRISE ADMINISTRATOR

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 1)

SOA Introdução. SOA Visão Departamental das Organizações

Exercícios de Revisão Java Básico

Bancos de Dados Móveis

Permite o acesso remoto a um computador;

Metas de um Sistema Distribuído

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

SISTEMAS OPERACIONAIS

Tutorial Eclipse (IDE)

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos

2 SYSCALLs: O que são

PERFORMANCE EVALUATION OF A MONGODB AND HADOOP PLATFORM FOR SCIENTIFIC DATA ANALYSIS M.Govindaraju and L. Ramakrishnan

Transcrição:

Hadoop - HDFS Universidade Federal de Goiás Ciência da Computação

O que é Hadoop? Um framework para lidar com aplicações distribuídas que fazem uso massivo de dados Originalmente construído para a distribuição do projeto do motor web Apache Nutch Permite aplicações a trabalharem com milhares de nós em cluster Dados na escala dos Petabytes Implementa o paradigma Map/Reduce Open Source, Escrito em Java

O que é o HDFS? Sistema de arquivos distribuído Alta tolerância a falhas Projetado para hardware de baixo custo Provê alta vazão de dados Escalável Portável Baseado no Google File System Faz parte do pacote Hadoop Common

Pra que serve? Sistema primário de armazenamento usado pelas aplicações do Hadoop Também pode funcionar como um sistema de arquivos distribuído de propósito "geral", levando em consideração suas peculiaridades Arquivos muito grandes são quebrados em pedaços menores e armazenados em diferentes nós

Quem utiliza: - Facebook - Adobe - EBay - Google - IBM - ImageShack - Last.fm - LinkedIN Apenas alguns dentre vários outros grandes nomes

Conceitos Write once, read many Tolerância a falhas de Hardware Acesso aos dados por streaming Grandes conjuntos de dados Modelo de coerência simples "Mover o processamento é mais barato que mover os dados" Portabilidade entre hardware e software heterogêneos

Funcionalidades Permissões e autenticação Rack Awareness Modo de segurança fsck() Balanceador Atualização e rollback de dados Nós de checkpoint Nós de backup

Arquitetura do HDFS O HDFS tem uma arquitetura Cliente/Servidor Constituído por um NameNode e vários DataNodes

Como Funciona? O NameNode executa operações no sistema de arquivos, como open, close, rename de arquivos e de diretórios. Os protocolos do HDFS são implementados sobre o protocolo de rede TCP/IP A comunicação entre os processos acontece por Remote Procedure Call (RPC).

Como Funciona? NameNode, mantém o sistema de nomes e coordena acesso e metadados Os metadados são mantidos todos em memória RAM para garantir rapidez de acesso Organização hierárquica dos dados, semelhante a outros sistemas de arquivos Não suporta atalhos

Como Funciona? Os arquivos são armazenados em blocos que são muito maiores que os blocos comuns de um sistema de arquivo o seu padrão é 64MB Confiabilidade é implementada através da replicação dos dados. Cada bloco é replicado em 3 ou mais DataNodes Não é realizado cache para os dados. Um preço a se pagar pelos grandes conjuntos de dados e acesso por streaming

Demonstração 1- No site http://www.cloudera.com/downloads/ é possível realizar o download de máquinas virtuais com hadoop

1: import java.io.file; 2: import java.io.ioexception; 3: import org.apache.hadoop.conf.configuration; 5: import org.apache.hadoop.fs.filesystem; 6: import org.apache.hadoop.fs. FSDataInputStream; 7: import org.apache.hadoop.fs. FSDataOutputStream; 8: import org.apache.hadoop.fs.path;

10: public class HDFSHelloWorld { 11: 12: public static final String thefilename = "hello.txt"; 13: public static final String message = "Hello, world!\n"; 14: 15: public static void main (String [] args) throws IOException { 16: 17: Configuration conf = new Configuration(); 18: FileSystem fs = FileSystem.get(conf); 19: 20: Path filenamepath = new Path(theFilename); 21: 22: try { 23: if (fs.exists(filenamepath)) { 24: // remove the file first 25: fs.delete(filenamepath); 26: } 27: 28: FSDataOutputStream out = fs.create(filenamepath); 29: out.writeutf(message; 30: out.close(); 31: 32: FSDataInputStream in = fs.open(filenamepath); 33: String messagein = in.readutf(); 34: System.out.print(messageIn); 35: in.close(); 46: } catch (IOException ioe) { 47: System.err.println("IOException during operation: " + ioe.tostring()); 48: System.exit(1); 49: } 40: } 41: }

Referências Hadoop Tutorial - http://developer.yahoo. com/hadoop/tutorial/module2.html#programmatically HDFS Architecture Guide - http://hadoop.apache. org/hdfs/docs/current/hdfs_design.html Hadoop (Wikipedia) - http://en.wikipedia.org/wiki/hadoop http://hadoopblog.blogspot.com/2010/05/facebook-has-worldslargest-hadoop.html4 http://www.cloudera.com/videos/mapreduce_and_hdfs http://wiki.apache.org/hadoop/poweredbys borthakur.com/ftp/hadoopmicrosoft.pdf