Sigo leyendo más de Hadoop un framework que ya estuvimos hablando:
http://emanuelpeg.blogspot.com/2009/10/apache-hadoop-es-un-proyecto-java-de.html
http://emanuelpeg.blogspot.com/2009/10/hadoop-hbase.html
El proyecto comenzo como funcionalidad de Nutch pero rapidamente se convirtio en un proyecto aparte; basado en Google GFS y MapReduce. Iniciado por Doug Cutting.
Apache Hadoop es un framework para computación distribuida y persistencia distribuida el cual tiene las siguientes características:
- Permite montas fácilmente y de manera fiable clusters con multitud de nodos
- Implementa Map/Reduce y sistema de archivos distribuido (HDFS)
- y es Open Source!!
Buenísimo pero que es MapReduce? Es un modelo de programación aplicable a problemas en los que la solución de una subparte no sea dependiente de las soluciones de las demás subpartes. Es un estilo "divide y vencerás"; se divide el problema e subproblemas independientes y se soluciona cada uno de forma independiente. El MapReduce de hadoop tiene una arquitectura maestro/esclavo.
- Un único maestro (JobTracker): Responsable de la gestión de tareas asignadas a esclavos, las monitoriza y se encarga de re-ejecutarlas si han fallado.
- N esclavos (TaskTracker) : Ejecutan la tarea asignada.
En principio pensado para Java, pero con Hadoop Pipes para C++ y se esta implementando Hadoop Streaming para el resto de los lenguajes.
HDFS: Hadoop Distributed File System. Es el framework encargado de simular un file system como si estuviera en un equipo pero este esta distribuido.
HDFS tiene una arquitectura maestro/esclavo, hay un maestro que tiene la responsabilidad de administrar y nodos que se guardan los archivos. Existen estrategias para recuperar el maestro, para eliminar el punto de fallo. Todos los protocolos que usa se implementan sobre TCP/IP.
Además cuenta con una serie de comandos que permiten utilizarlo:
get: Copia a local el archivo de HDFS
put: Copia desde local múltiples ficheros HDFS
strep: Cambia el factor de replicación
Comandos típicos: ls, mkdir, cp, cat, etc...
Bueno este fue un pequeño resumen sobre un gran proyecto.
Dejo links:
http://hadoop.apache.org/
http://hadoop.apache.org/hdfs/
http://hadoop.apache.org/mapreduce/