[Enciclopedia Online Gratuita] Diccionario de Internet y Tecnologías de la Información y la Comunicación (TIC):
ıllı Apache Hadoop wiki: info, historia y vídeos
La información contenida en esta web debe ser considerada como información general, de carácter formativo, educativo o divulgativo, y no puede ser utilizada o interpretada como consejo o diagnótico médico, psicológico o de ningún otro tipo. Es posible que algunos datos mostrados no esten actualizados. Por ello, en caso de duda lo recomentable es consultar a un experto cualificado.
- Detalles
- Categoría: INTERNET
Apache Hadoop
Hadoop fue creado por Doug Cutting, que lo nombró de este modo por el elefante de juguete de su hijo. Fue desarrollado originalmente para respaldar la distribución del proyecto de motor de busca, llamado Nutch. Hadoop consiste esencialmente en el Hadoop Common, que da acceso a los sistemas de ficheros soportados por Hadoop. El bulto de software The Hadoop Common contiene los ficheros .jar y los scripts precisos para ejecutar Hadoop. El bulto asimismo da código fuente, documentación, y una sección de contribución que incluye proyectos de la Comunidad Hadoop. Una funcionalidad clave es que para la programación eficaz de trabajo, cada sistema de ficheros debe conocer y administrar su ubicación: el nombre del rack (más exactamente, del switch) donde está el nodo trabajador. Las aplicaciones Hadoop pueden emplear esta información para ejecutar trabajo en el nodo donde están los datos y, en su defecto, en exactamente el mismo rack/switch, reduciendo de esta manera el tráfico de red troncal (backbone traffic). El sistema de ficheros HDFS utiliza esto cuando réplica datos, para procurar preservar copias diferentes de los datos en racks diferentes. La meta es reducir el impacto de un corte de energía de rack o bien de fallo de interruptor de tal modo que aun de producirse estos acontecimientos, los datos aún puedan ser inteligibles. Un clúster habitual Hadoop incluye un nodo profesor y múltiples nodos esclavo. El nodo profesor consiste en jobtracker (rastreador de trabajo), tasktracker (rastreador de labores), namenode (nodo de nombres), y datanode (nodo de datos). Un esclavo o bien compute node (nodo de cómputo) consisten en un nodo de datos y un rastreador de labores. Hadoop requiere tener instalados entre nodos en el clúster JRE dieciseis o bien superior, y SSH. El Hadoop Distributed Archivo System (HDFS) es un sistema de ficheros distribuido, escalable y portátil escrito en Java para el framework Hadoop. Cada nodo en una instancia Hadoop típicamente tiene un solo nodo de datos; un clúster de datos forma el clúster HDFS. La situación es habitual pues cada nodo no requiere un nodo de datos para estar presente. Cada nodo sirve bloques de datos sobre la red utilizando un protocolo de bloqueo concreto para HDFS. El sistema de ficheros emplea la capa TCP/IP para la comunicación; los clientes del servicio emplean RPC para comunicarse entre ellos. El HDFS guarda ficheros grandes (el tamaño ideal del archivo es de sesenta y cuatro MB), por medio de múltiples máquinas. Logra confiabilidad a través de replicado de datos por medio de múltiples hosts, y no requiere almacenaje RAID en ellos. Con el valor de replicación por defecto, tres, los datos se guardan en tres nodos: 2 en exactamente el mismo rack, y otro en un rack diferente. Los nodos de datos pueden charlar entre ellos para reequilibrar datos, desplazar copias, y preservar alta la replicación de datos. HDFS no cumple plenamente con POSIX por el hecho de que los requerimientos de un sistema de ficheros POSIX difieren de los objetivos de una aplicación Hadoop, pues la meta no es tanto cumplir los estándares POSIX sino más bien la máxima eficiencia y desempeño de datos. HDFS fue desarrollado para administrar ficheros muy grandes. HDFS no da Alta disponibilidad. A junio de dos mil diez, la lista de sistemas de ficheros soportados incluye: Hadoop puede trabajar de forma directa con cualquier sistema de ficheros distribuido, el que puede ser montado por el sistema operativo latente sencillamente utilizando la URL file://, no obstante esto tiene un precio: la pérdida de la localidad. Para reducir el tráfico de red, Hadoop precisa saber qué servidores están más cercanos a los datos; esta información la pueden administrar los puentes concretos del sistema de ficheros concreto de Hadoop. La configuración por defecto incluye Amazon S3, y el almacén de ficheros CloudStore, mediante las URLs s3:// y kfs://. Se han escrito múltiples puentes de sistema de ficheros de terceros, ninguno de los que están en nuestros días en las distribuciones de Hadoop. Estas pueden ser más de propósito general que HDFS, el que está muy sesgado cara grandes ficheros y solo ofrece un subconjunto de la semántica aguardada de sistema de ficheros Posix Filesystem: no se puede bloquear o bien redactar en cualquier parte salvo la cola de un fichero. Aparte del sistema de ficheros, está el motor MapReduce, consistente en un Job Tracker (rastreador de trabajos), para el que las aplicaciones cliente del servicio mandan trabajos MapReduce. El rastreador de trabajos (Job Tracker) impulsa el trabajo fuera a los nodos Task Tracker libres en el clúster, procurando sostener el trabajo tan cerca de los datos como resulte posible. Con un sistema de ficheros siendo consciente del rack en el que se hallan los datos, el Job Tracker sabe qué nodo contiene la información, y que otras máquinas están cerca. Si el trabajo no puede ser guardado en el nodo actual donde radican los datos, se da la prioridad a los nodos del mismo rack. Esto reduce el tráfico de red en internet primordial backbone. Si un Task Tracker (rastreador de labores) falla o bien no llega a tiempo, la una parte de trabajo se reprograma. El TaskTracker en todos y cada nodo produce un proceso separado JVM para eludir que el propio TaskTracker mismo falle si el trabajo en cuestión tiene inconvenientes.Se manda información desde el TaskTracker al JobTracker cada pocos minutos para revisar su estado. El estado del Job Tracker y el TaskTracker y la información lograda se pueden ver desde un navegador proporcionado por Jetty. Si el Job Tracker fallaba en Hadoop 0.20 o bien precedente, todo el trabajo en curso se perdía. Hadoop versión 0.21 agregó ciertos autoguardados al proceso; el rastreador de trabajo graba lo que está en el sistema de ficheros. En el momento en que un Job Tracker empieza, busca datos para recomenzar el trabajo donde lo dejó. En versiones precedentes, todo el trabajo activo se perdía cuando se reiniciaba el Job Tracker. Las restricciones de esto son: Por defecto Hadoop utiliza el procedimiento FIFO para programar la realización de trabajos desde una cola de trabajo. En la versión 0.19 el job scheduler (programador de trabajos) fue refactorizado fuera de Hadoop, lo que agregó la habilidad de utilizar un programador alternativo. El fair scheduler (programador justo o bien limpio) fue desarrollado por Fb. La meta del programador es suministrar veloz contestación para trabajos pequeños y calidad de servicio (QOS, en sus iniciales en inglés) para trabajos de producción. El fair scheduler se fundamenta en tres conceptos básicos: Por defecto, los trabajos que están sin clasificar van a un pool por defecto. Las pools deben detallar el n.º mínimo de slots de mapa, los reduce slots, y un límite en el número de trabajos ejecutándose. El programador de capacidad fue desarrollado por Yahoo. Aguanta múltiples funciones afines a las del fair scheduler. No es posible la expropiación de recursos cuando se está ejecutando un trabajo. El sistema de ficheros HDFS no se limita a MapReduce jobs. Puede utilizarse para otras aplicaciones, muchas de las que están bajo desarrollo en Apache. La lista incluye la base de datos HBase, el sistema de aprendizaje automáticoApache Mahout, y operaciones de matriz. Hadoop puede emplearse teóricamente para cualquier género de trabajo orientado a lotes, en vez de tiempo real, el que es muy intensivo en datos, y ser capaz de trabajar en piezas de datos paralelamente. En el mes de octubre de dos mil nueve, entre las aplicaciones comerciales de Hadoop se incluían: Hadoop puede utilizarse asimismo en granjas de computadoras y ambientes de alto desempeño. La integración con Sun Grid Engine fue lanzada, y ejecutar Hadoop en Sun Grid (el servicio bajo demanda de utility computing) es posible. En la implementación inicial de la integración, el programador de tiempo de CPU no sabe la ubicación de los datos. Desafortunadamente, esto quiere decir que el procesado no es hecho siempre y en toda circunstancia en exactamente el mismo rack donde están los datos; esto era una característica primordial de la Rutin Hadoop. Una mejor integración con ubicación de datos se anunció a lo largo de la Sun HPC Software Taller '09. Sun asimismo tiene el proyecto Hadoop Live CDOpenSolaris, que deja ejecutar un clúster Hadoop totalmente funcional utilizando un live CD. Por su parte, la tecnología de Nutanix, asimismo es capaz de aguantar plataformas Hadoop, aportando las grandes ventajas de su arquitectura (redundancia, rendimientos, enorme sencillez de administración, etc), sin las dependencias de storage frecuentes en estas infraestructuras Cloud.Sistemas de archivos
Hadoop Distributed Archivo System
Otros sistemas de archivos
Job Tracker y Task Tracker: el motor MapReduce
Programación de tiempo
Programador justo
Programador de capacidad
Otras aplicaciones