Sei sulla pagina 1di 7

Apache Hadoop - Wikipedia, la enciclopedia libre https://es.wikipedia.

org/wiki/Apache_Hadoop

Apache Hadoop
Apache Hadoop es un framework de software que
soporta aplicaciones distribuidas bajo una licencia
Apache Hadoop
libre.1 Permite a las aplicaciones trabajar con miles de
nodos y petabytes de datos. Hadoop se inspir en los hadoop.apache.org (https://hadoop.apache.org)
documentos Google para MapReduce y Google File
System (GFS).

Hadoop es un proyecto de alto nivel Apache que est


siendo construido y usado por una comunidad global Informacin general
de contribuyentes,2 mediante el lenguaje de Desarrollador(es) Apache Software Foundation
programacin Java. Yahoo! ha sido el mayor Autor(es) Doug Cutting y Mike Cafarella
contribuyente al proyecto,3 y usa Hadoop
4
Gnero Sistema de archivos distribuido
extensivamente en su negocio.
Programado en Java
Sistema operativo Multiplataforma

ndice Plataforma Java


Licencia Apache License 2.0
1 Historia Estado actual Activo
2 Caractersticas Idiomas ingls
2.1 Arquitectura En espaol No
2.2 Sistemas de archivos
[editar datos en Wikidata]
2.2.1 Hadoop Distributed File
System
2.2.2 Otros sistemas de archivos
2.3 Job Tracker y Task Tracker: el
motor MapReduce
2.3.1 Programacin de tiempo
2.3.1.1 Programador justo
2.3.1.2 Programador de
capacidad
2.4 Otras aplicaciones
3 Usuarios prominentes
4 Con Sun Grid Engine y Nutanix
5 Referencias
5.1 Notas
5.2 Bibliografa
6 Vase tambin
7 Enlaces internos
8 Enlaces externos

Historia
Hadoop fue creado por Doug Cutting,5 que lo nombr as por el elefante de juguete de su hijo.6 Fue
desarrollado originalmente para apoyar la distribucin del proyecto de motor de bsqueda, denominado
Nutch.7

1 de 7 11/09/2017 21:32
Apache Hadoop - Wikipedia, la enciclopedia libre https://es.wikipedia.org/wiki/Apache_Hadoop

Caractersticas
Arquitectura
Hadoop consiste bsicamente en el Hadoop Common, que proporciona acceso a los sistemas de archivos
soportados por Hadoop. El paquete de software The Hadoop Common contiene los archivos .jar y los scripts
necesarios para ejecutar Hadoop. El paquete tambin proporciona cdigo fuente, documentacin, y una
seccin de contribucin que incluye proyectos de la Comunidad Hadoop.

Una funcionalidad clave es que para la programacin efectiva de trabajo, cada sistema de archivos debe
conocer y proporcionar su ubicacin: el nombre del rack (ms precisamente, del switch) donde est el nodo
trabajador. Las aplicaciones Hadoop pueden usar esta informacin para ejecutar trabajo en el nodo donde
estn los datos y, en su defecto, en el mismo rack/switch, reduciendo as el trfico de red troncal (backbone
traffic). El sistema de archivos HDFS usa esto cuando replica datos, para intentar conservar copias
diferentes de los datos en racks diferentes. El objetivo es reducir el impacto de un corte de energa de rack o
de fallo de interruptor de modo que incluso si se producen estos eventos, los datos todava puedan ser
legibles.8

Un clster tpico Hadoop incluye un nodo maestro y mltiples nodos esclavo. El nodo maestro consiste en
jobtracker (rastreador de trabajo), tasktracker (rastreador de tareas), namenode (nodo de nombres), y
datanode (nodo de datos). Un esclavo o compute node (nodo de cmputo) consisten en un nodo de datos y
un rastreador de tareas. Hadoop requiere tener instalados entre nodos en el clster JRE 1.6 o superior, y
SSH.

Sistemas de archivos

Hadoop Distributed File System

El Hadoop Distributed File System (HDFS) es un sistema de archivos distribuido, escalable y porttil
escrito en Java para el framework Hadoop. Cada nodo en una instancia Hadoop tpicamente tiene un nico
nodo de datos; un clster de datos forma el clster HDFS. La situacin es tpica porque cada nodo no
requiere un nodo de datos para estar presente. Cada nodo sirve bloques de datos sobre la red usando un
protocolo de bloqueo especfico para HDFS. El sistema de archivos usa la capa TCP/IP para la
comunicacin; los clientes usan RPC para comunicarse entre ellos. El HDFS almacena archivos grandes (el
tamao ideal de archivo es de 64 MB9 ), a travs de mltiples mquinas. Consigue fiabilidad mediante
replicado de datos a travs de mltiples hosts, y no requiere almacenamiento RAID en ellos. Con el valor de
replicacin por defecto, 3, los datos se almacenan en 3 nodos: dos en el mismo rack, y otro en un rack
distinto. Los nodos de datos pueden hablar entre ellos para reequilibrar datos, mover copias, y conservar alta
la replicacin de datos. HDFS no cumple totalmente con POSIX porque los requerimientos de un sistema de
archivos POSIX difieren de los objetivos de una aplicacin Hadoop, porque el objetivo no es tanto cumplir
los estndares POSIX sino la mxima eficacia y rendimiento de datos. HDFS fue diseado para gestionar
archivos muy grandes.9 HDFS no proporciona Alta disponibilidad.

Otros sistemas de archivos

A junio de 2010, la lista de sistemas de archivos soportados incluye:

HDFS: El sistema propio de Hadoop. Est diseado para la escala de decenas petabytes de
almacenamiento y funciona sobre los sistemas de archivos de base.
Amazon S3. ste se dirige a clusters almacenados en la infraestructura del servidor bajo demanda
Amazon Elastic Compute Cloud. No hay conciencia de racks en este sistema de archivos, porque todo
l es remoto.

2 de 7 11/09/2017 21:32
Apache Hadoop - Wikipedia, la enciclopedia libre https://es.wikipedia.org/wiki/Apache_Hadoop

CloudStore (previamente llamado Kosmos Distributed File System), el cual es consciente de los
racks.
FTP: ste almacena todos sus datos en un servidor FTP accessible remotamente.
HTTP y HTTPS de solo lectura.

Hadoop puede trabajar directamente con cualquier sistema de archivos distribuido, el cual puede ser
montado por el sistema operativo subyacente simplemente usando la URL file://, sin embargo esto tiene un
precio: la prdida de la localidad. Para reducir el trfico de red, Hadoop necesita saber qu servidores estn
ms prximos a los datos; esta informacin la pueden proporcionar los puentes especficos del sistema de
archivos especfico de Hadoop.

La configuracin por defecto incluye Amazon S3, y el almacn de archivos CloudStore, a travs de las
URLs s3:// y kfs://.

Se han escrito varios puentes de sistema de archivos de terceros, ninguno de los cuales estn actualmente en
las distribuciones de Hadoop. Estas pueden ser ms de propsito general que HDFS, el cual est muy
sesgado hacia grandes archivos y solo ofrece un subconjunto de la semntica esperada de sistema de
archivos Posix Filesystem: no se puede bloquear o escribir en cualquier parte salvo la cola de un archivo.

Job Tracker y Task Tracker: el motor MapReduce


Aparte del sistema de archivos, est el motor MapReduce, que consiste en un Job Tracker (rastreador de
trabajos), para el cual las aplicaciones cliente envan trabajos MapReduce.

El rastreador de trabajos (Job Tracker) impulsa el trabajo fuera a los nodos Task Tracker disponibles en el
clster, intentando mantener el trabajo tan cerca de los datos como sea posible. Con un sistema de archivos
consciente del rack en el que se encuentran los datos, el Job Tracker sabe qu nodo contiene la informacin,
y cules otras mquinas estn cerca. Si el trabajo no puede ser almacenado en el nodo actual donde residen
los datos, se da la prioridad a los nodos del mismo rack. Esto reduce el trfico de red en la red principal
backbone. Si un Task Tracker (rastreador de tareas) falla o no llega a tiempo, la parte de trabajo se
reprograma. El TaskTracker en cada nodo genera un proceso separado JVM para evitar que el propio
TaskTracker mismo falle si el trabajo en cuestin tiene problemas. Se enva informacin desde el
TaskTracker al JobTracker cada pocos minutos para comprobar su estado. El estado del Job Tracker y el
TaskTracker y la informacin obtenida se pueden ver desde un navegador web proporcionado por Jetty.

Si el Job Tracker fallaba en Hadoop 0.20 o anterior, todo el trabajo en curso se perda. Hadoop versin 0.21
aadi algunos autoguardados al proceso; el rastreador de trabajo graba lo que est en el sistema de
archivos. Cuando un Job Tracker comienza, busca datos para recomenzar el trabajo donde lo dej. En
versiones anteriores, todo el trabajo activo se perda cuando se reiniciaba el Job Tracker.

Las limitaciones de esto son:

La asignacin de trabajo de los seguidores de trabajo es muy sencilla. Cada rastreador de tarea tiene
un nmero de plazas disponibles, llamadas ranuras o slots (por ejemplo, "4 slots"). Cada mapa activo
o cada reduce toma (ocupa) una posicin. El Rastreador de Trabajo asigna trabajo para el seguidor
ms cercano a los datos con una ranura disponible. No hay ninguna consideracin de la carga activa
actual de la mquina asignada, y por tanto de su disponibilidad real.

Si una tarea de seguimiento es muy lenta, se puede retrasar toda la operacin MapReduce
-especialmente hacia el final de un trabajo, donde todo puede estar a la espera de una sola tarea lenta-.
Con la ejecucin especulativa activada, sin embargo, una tarea simple puede ejecutarse en mltiples
nodos esclavos. As que esta tecnologa permite una conexin en red muy eficiente.

Programacin de tiempo

3 de 7 11/09/2017 21:32
Apache Hadoop - Wikipedia, la enciclopedia libre https://es.wikipedia.org/wiki/Apache_Hadoop

Por defecto Hadoop usa el mtodo FIFO para programar la realizacin de trabajos desde una cola de trabajo.
En la versin 0.19 el job scheduler (programador de trabajos) fue refactorizado fuera de Hadoop, lo cual
aadi la habilidad de usar un programador alternativo.10

Programador justo

El fair scheduler (programador justo o limpio) fue desarrollado por Facebook. El objetivo del programador
es proporcionar rpida respuesta para trabajos pequeos y calidad de servicio (QOS, en sus siglas en ingls)
para trabajos de produccin. El fair scheduler se basa en 3 conceptos bsicos:11

1. Los trabajos se agrupan en pools.


2. Cada pool tiene asignada una porcin mnima garantizada.
3. El exceso de capacidad se distribuye entre trabajos.

Por defecto, los trabajos que estn sin categorizar van a un pool por defecto. Las pools tienen que
especificar el n mnimo de slots de mapa, los reduce slots, y un lmite en el nmero de trabajos
ejecutndose.

Programador de capacidad

El programador de capacidad fue desarrollado por Yahoo. Soporta varias funciones similares a las del fair
scheduler.12

Los trabajos son presentados en las colas.


A las colas se le asigna una fraccin de la capacidad total de recursos.
Los recursos libres se asignan a las colas ms all de su capacidad total.
Dentro de una cola, un trabajo con un alto nivel de prioridad tendr acceso a los recursos de la cola.

No es posible la expropiacin de recursos cuando se est ejecutando un trabajo.

Otras aplicaciones
El sistema de archivos HDFS no se restringe a MapReduce jobs. Puede usarse para otras aplicaciones,
muchas de las cuales estn bajo desarrollo en Apache. La lista incluye la base de datos HBase, el sistema de
aprendizaje automtico Apache Mahout, y operaciones de matriz. Hadoop puede usarse en teora para
cualquier tipo de trabajo orientado a lotes, en lugar de tiempo real, el cual es muy intensivo en datos, y ser
capaz de trabajar en piezas de datos en paralelo. En octubre de 2009, entre las aplicaciones comerciales de
Hadoop13 se incluan:

Registro y/o anlisis de fuentes de clics (clickstream) de varios tipos


Analticas de marketing
Aprendizaje automtico y/o extraccin de datos sofisticados (data mining)
Procesamiento de imgenes
El tratamiento de mensajes XML
Web de rastreo y/o procesamiento de textos
Archivado general, incluidos los relacionales y datos tabulares, por ejemplo, para cumplimiento

Usuarios prominentes
El 19 de febrero de 2008, Yahoo! Inc. lanz lo que pretenda era la ms grande aplicacin de produccin
Hadoop. El Yahoo! Search Webmap es una aplicacin de Hadoop que se ejecuta en ms de 10.000 ncleos
Linux Clusters de racimo y produce datos que se utilizan actualmente en todos los resultados de bsqueda
de Yahoo!. En junio de 2009, Yahoo! hizo disponible el cdigo fuente de la versin de Hadoop que usa en

4 de 7 11/09/2017 21:32
Apache Hadoop - Wikipedia, la enciclopedia libre https://es.wikipedia.org/wiki/Apache_Hadoop

produccin.14

Aparte de Yahoo!, otras organizaciones usan Hadoop para ejecutar cmputos enormes distribuidos. Algunas
de stas empresas incluyen:2

Meebo
A9.com Metaweb
AOL Mitula15
Booz Allen Hamilton The New York Times
EHarmony Ning
eBay Powerset (ahora parte de Microsoft)
Facebook Rackspace
Fox Interactive Media StumbleUpon16
Freebase Tuenti
IBM Twitter
ImageShack Veoh
ISI Zoosk
Joost 1&1
Last.fm MercadoLibre
LinkedIn

Con Sun Grid Engine y Nutanix


Hadoop puede usarse tambin en granjas de computadoras y entornos de alto rendimiento. La integracin
con Sun Grid Engine fue lanzada, y ejecutar Hadoop en Sun Grid (el servicio bajo demanda de utility
computing) es posible.17 En la implementacin inicial de la integracin, el programador de tiempo de CPU
no sabe la localizacin de los datos. Desafortunadamente, esto significa que el procesado no es hecho
siempre en el mismo rack donde estn los datos; esto era una caracterstica principal de la Rutin Hadoop.
Una mejor integracin con localizacin de datos se anunci durante la Sun HPC Software Workshop '09.18

Sun tambin tiene el proyecto Hadoop Live CD OpenSolaris, que permite ejecutar un clster Hadoop
completamente funcional usando un live CD.19

Por su parte, la tecnologa de Nutanix (http://www.nutanix.com/), tambin es capaz de soportar plataformas


Hadoop, aportando las grandes ventajas de su arquitectura (redundancia, rendimientos, enorme facilidad de
gestin, etc), sin las dependencias de storage habituales en estas infraestructuras Cloud.

Referencias
Notas
produciendo un alto ancho de banda agregado en
1. "Hadoop es un framework que ejecuta aplicaciones todo el clster. Ambos, map/reduce y el sistema de
en grandes clusters de hardware dedicado. El archivos distribuidos, estn diseados de manera
framework proporciona a las aplicaciones de forma que las fallas de nodo se gestionan
transparente fiabilidad y movilidad de datos. automticamente mediante el framework." Hadoop
Hadoop implementa un paradigma computacional Overview (http://wiki.apache.org/hadoop
llamado map/reduce, donde la aplicacin se divide /ProjectDescription)
en muchos pequeos fragmentos de trabajo, cada 2. Applications and organizations using Hadoop
uno de los cuales se pueden ejecutar o volver a (http://wiki.apache.org/hadoop/PoweredBy)
ejecutar en cualquier nodo del clster. Adems, 3. Hadoop Credits Page (http://hadoop.apache.org
proporciona un sistema de archivos distribuido que /core/credits.html)
almacena los datos en los nodos de cmputo, 4. Yahoo! Launches World's Largest Hadoop

5 de 7 11/09/2017 21:32
Apache Hadoop - Wikipedia, la enciclopedia libre https://es.wikipedia.org/wiki/Apache_Hadoop

Production Application (https://web.archive.org 12. [3] (https://web.archive.org/web/20110225074402


/web/20080514135459/http://developer.yahoo.com /http://hadoop.apache.org/common/docs/r0.20.2
/blogs/hadoop/2008/02/yahoo-worlds-largest- /capacity_scheduler.html) Capacity Scheduler
production-hadoop.html) Guide
5. Hadoop creator goes to Cloudera 13. "How 30+ enterprises are using Hadoop", in
(https://web.archive.org/web/20120313221400/http: DBMS2 (http://www.dbms2.com/2009/10
//www.sdtimes.com/blog/post/2009/08/10/Hadoop- /10/enterprises-using-hadoo/)
creator-goes-to-Cloudera.aspx) 14. Hadoop and Distributed Computing at Yahoo!
6. Ashlee Vance (17 de marzo de 2009). Hadoop, a (http://developer.yahoo.com/hadoop/)
Free Software Program, Finds Uses Beyond 15. Mitula Search/Hadoop (http://www.mitula.com).
Search (http://www.nytimes.com/2009/03 Consultado el 6 de septiembre de 2011.
/17/technology/business-computing/17cloud.html). 16. HBase at StumbleUpon (https://web.archive.org
New York Times. Consultado el 20 de enero de /web/20100813125607/http:
2010. //www.stumbleupon.com/devblog
7. "Hadoop contains the distributed computing /hbase_at_stumbleupon/). Archivado desde el
platform that was formerly a part of Nutch. This original (http://www.stumbleupon.com/devblog
includes the Hadoop Distributed Filesystem /hbase_at_stumbleupon/) el 13 de agosto de 2010.
(HDFS) and an implementation of map/reduce." Consultado el 26 de junio de 2010.
About Hadoop (http://hadoop.apache.org/core/) 17. Creating Hadoop pe under SGE
8. https://web.archive.org/web/20090714010337/http: (https://web.archive.org/web/20080912170855/http:
//hadoop.apache.org/core/docs/r0.17.2 //blogs.sun.com/ravee/entry
/hdfs_user_guide.html#Rack+Awareness /creating_hadoop_pe_under_sge). Sun
9. The Hadoop Distributed File System: Architecture Microsystems. 16 de enero de 2008. Archivado
and Design (https://web.archive.org desde el original (http://blogs.sun.com/ravee/entry
/web/20090715174448/http://hadoop.apache.org /creating_hadoop_pe_under_sge) el 12 de
/core/docs/current/hdfs_design.html#Data+Blocks) septiembre de 2008.
10. [1] (https://issues.apache.org/jira/browse 18. HDFS-Aware Scheduling With Grid Engine
/HADOOP-3412) #HADOOP-3412 Refactor the (http://wikis.sun.com/display/SunHPC09
scheduler out of the JobTracker - ASF JIRA /Sun+HPC+Software+Workshop+'09+Wiki). Sun
11. [2] (http://svn.apache.org/repos/asf/hadoop Microsystems. 10 de septiembre de 2009.
/mapreduce/trunk/src/contrib/fairscheduler 19. OpenSolaris Project: Hadoop Live CD
/designdoc/fair_scheduler_design_doc.pdf) Hadoop (http://opensolaris.org/os/project/livehadoop/). Sun
Fair Scheduler Design Document Microsystems. 29 de agosto de 2008.

20. Cyttek Group http://cyttek.com/consultoria/cyttek-big-data-manager/

Bibliografa
Lam, Chuck (28 de julio de 2010). Hadoop in Action (http://www.manning.com/lam/) (1st edicin).
Manning Publications. p. 325. ISBN 1935182196.
Venner, Jason (22 de junio de 2009). Pro Hadoop (http://www.apress.com/book/view/1430219424)
(1st edicin). Apress. p. 440. ISBN 1430219424.
White, Tom (16 de junio de 2009). Hadoop: The Definitive Guide (http://oreilly.com/catalog
/9780596521974) (1st edicin). O'Reilly Media. p. 524. ISBN 0596521979.

Vase tambin

Enlaces internos
Portal:Software libre. Contenido relacionado con Software libre.
Nutch - un esfuerzo para construir un motor de bsqueda de cdigo abierto, basado en Lucene y
Hadoop. Tambin creado por Doug Cutting.
Hortonworks - plataforma libre basada en Hadoop con soporte comercial
Cloudera - plataforma libre basada en Hadoop con soporte comercial y aplicaciones de gestin

6 de 7 11/09/2017 21:32
Apache Hadoop - Wikipedia, la enciclopedia libre https://es.wikipedia.org/wiki/Apache_Hadoop

disponibles
Datameer Analytics Solution motor de anlisis, visualizacin e integracin de fuentes de datos y
almacenamiento
HBase - base de datos modelo BigTable
IBM - plataforma libre basada en Hadoop con soporte comercial y aplicaciones de gestin y manejo
de tecnologas open source.
Hypertable - alternativa a HBase
MapReduce - algoritmo de filtrado de datos fundamentales Hadoop
Apache Mahout - algoritmos de Machine Learning implementados en Hadoop
Apache Cassandra - una base de datos orientada a columnas que soporta acceso desde Hadoop
Computacin en nube
Big data
Sqoop

Enlaces externos
(en ingls) Sitio web oficial (http://hadoop.apache.org/)

Obtenido de https://es.wikipedia.org/w/index.php?title=Apache_Hadoop&oldid=101772157

Se edit esta pgina por ltima vez el 10 sep 2017 a las 07:16.
El texto est disponible bajo la Licencia Creative Commons Atribucin Compartir Igual 3.0; pueden
aplicarse clusulas adicionales. Al usar este sitio, usted acepta nuestros trminos de uso y nuestra
poltica de privacidad.
Wikipedia es una marca registrada de la Fundacin Wikimedia, Inc., una organizacin sin nimo de
lucro.

7 de 7 11/09/2017 21:32

Potrebbero piacerti anche