Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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).
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
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.
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.
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.
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
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
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:
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
Sun tambin tiene el proyecto Hadoop Live CD OpenSolaris, que permite ejecutar un clster Hadoop
completamente funcional usando un live CD.19
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
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