stringtranslate.com

Apache Hadoop

Apache Hadoop ( / h ə ˈ d p / ) es una colección de utilidades de software de código abierto que facilita el uso de una red de muchas computadoras para resolver problemas que involucran cantidades masivas de datos y cálculos. [ vago ] Proporciona un marco de software para el almacenamiento distribuido y el procesamiento de grandes cantidades de datos utilizando el modelo de programación MapReduce . Hadoop fue diseñado originalmente para clústeres de computadoras construidos a partir de hardware básico , que todavía es el uso común. [3] Desde entonces, también se ha utilizado en clústeres de hardware de gama alta. [4] [5] Todos los módulos en Hadoop están diseñados con el supuesto fundamental de que las fallas de hardware son ocurrencias comunes y deben ser manejadas automáticamente por el marco. [6]

Descripción general

El núcleo de Apache Hadoop consta de una parte de almacenamiento, conocida como Hadoop Distributed File System (HDFS), y una parte de procesamiento que es un modelo de programación MapReduce. Hadoop divide los archivos en grandes bloques y los distribuye entre los nodos de un clúster. Luego transfiere el código empaquetado a los nodos para procesar los datos en paralelo. Este enfoque aprovecha la localidad de datos , [7] donde los nodos manipulan los datos a los que tienen acceso. Esto permite que el conjunto de datos se procese más rápido y de manera más eficiente de lo que sería en una arquitectura de supercomputadora más convencional que se basa en un sistema de archivos paralelo donde el cálculo y los datos se distribuyen a través de redes de alta velocidad. [8] [9]

El marco base de Apache Hadoop se compone de los siguientes módulos:

El término Hadoop se utiliza a menudo tanto para los módulos base y submódulos como para el ecosistema , [12] o la colección de paquetes de software adicionales que se pueden instalar encima o junto con Hadoop, como Apache Pig , Apache Hive , Apache HBase , Apache Phoenix , Apache Spark , Apache ZooKeeper , Apache Impala , Apache Flume , Apache Sqoop , Apache Oozie y Apache Storm . [13]

Los componentes MapReduce y HDFS de Apache Hadoop se inspiraron en los documentos de Google sobre MapReduce y Google File System . [14]

El marco de Hadoop en sí está escrito principalmente en el lenguaje de programación Java , con algo de código nativo en C y utilidades de línea de comandos escritas como scripts de shell . Aunque el código Java de MapReduce es común, se puede usar cualquier lenguaje de programación con Hadoop Streaming para implementar las partes de map y reduce del programa del usuario. [15] Otros proyectos en el ecosistema Hadoop exponen interfaces de usuario más ricas.

Historia

Según sus cofundadores, Doug Cutting y Mike Cafarella , el origen de Hadoop fue el documento Google File System que se publicó en octubre de 2003. [16] [17] Este documento generó otro de Google: "MapReduce: procesamiento de datos simplificado en grandes clústeres". [18] El desarrollo comenzó en el proyecto Apache Nutch , pero se trasladó al nuevo subproyecto Hadoop en enero de 2006. [19] Doug Cutting, que trabajaba en Yahoo! en ese momento, lo nombró en honor al elefante de juguete de su hijo. [20] El código inicial que se extrajo de Nutch consistió en aproximadamente 5000 líneas de código para HDFS y aproximadamente 6000 líneas de código para MapReduce.

En marzo de 2006, Owen O'Malley fue el primer colaborador en sumarse al proyecto Hadoop; [21] Hadoop 0.1.0 se lanzó en abril de 2006. [22] Sigue evolucionando a través de las contribuciones que se realizan al proyecto. [23] El primer documento de diseño para el sistema de archivos distribuidos Hadoop fue escrito por Dhruba Borthakur en 2007. [24]

Arquitectura

Hadoop consta del paquete Hadoop Common , que proporciona abstracciones a nivel de sistema operativo y de sistema de archivos, un motor MapReduce (MapReduce/MR1 o YARN/MR2) [32] y el sistema de archivos distribuido Hadoop (HDFS). El paquete Hadoop Common contiene los archivos Java Archive (JAR) y los scripts necesarios para iniciar Hadoop.

Para una programación eficaz del trabajo, todos los sistemas de archivos compatibles con Hadoop deben proporcionar información sobre la ubicación, que es el nombre del bastidor, específicamente el conmutador de red donde se encuentra un nodo de trabajo. Las aplicaciones de Hadoop pueden utilizar esta información para ejecutar código en el nodo donde se encuentran los datos y, en su defecto, en el mismo bastidor o conmutador para reducir el tráfico de la red troncal. HDFS utiliza este método al replicar datos para lograr redundancia de datos en varios bastidores. Este enfoque reduce el impacto de un corte de energía en el bastidor o una falla del conmutador; si ocurre cualquiera de estas fallas de hardware, los datos permanecerán disponibles. [33]

Clúster Hadoop
Un clúster Hadoop de múltiples nodos

Un clúster Hadoop pequeño incluye un nodo maestro y varios nodos de trabajo. El nodo maestro consta de un rastreador de tareas, un rastreador de trabajos, un nodo de nombres y un nodo de datos. Un nodo esclavo o de trabajo actúa como un nodo de datos y un rastreador de tareas, aunque es posible tener nodos de trabajo solo de datos y solo de cómputo. Estos normalmente se utilizan solo en aplicaciones no estándar. [34]

Hadoop requiere Java Runtime Environment (JRE) 1.6 o superior. Los scripts de inicio y apagado estándar requieren que se configure Secure Shell (SSH) entre los nodos del clúster. [35]

En un clúster más grande, los nodos HDFS se administran a través de un servidor NameNode dedicado para alojar el índice del sistema de archivos y un NameNode secundario que puede generar instantáneas de las estructuras de memoria del namenode, lo que evita la corrupción del sistema de archivos y la pérdida de datos. De manera similar, un servidor JobTracker independiente puede administrar la programación de trabajos en todos los nodos. Cuando se utiliza Hadoop MapReduce con un sistema de archivos alternativo, la arquitectura NameNode, NameNode secundario y DataNode de HDFS se reemplazan por los equivalentes específicos del sistema de archivos.

Sistemas de archivos

Sistema de archivos distribuido Hadoop

El sistema de archivos distribuido Hadoop (HDFS) es un sistema de archivos distribuido, escalable y portátil escrito en Java para el marco de Hadoop. Algunos lo consideran un almacén de datos debido a su falta de compatibilidad con POSIX , [36] pero sí proporciona comandos de shell y métodos de interfaz de programación de aplicaciones (API) Java que son similares a otros sistemas de archivos. [37] Una instancia de Hadoop se divide en HDFS y MapReduce. HDFS se utiliza para almacenar los datos y MapReduce se utiliza para procesarlos. HDFS tiene cinco servicios, a saber:

  1. Nodo de nombre
  2. Nodo de nombre secundario
  3. Rastreador de trabajos
  4. Nodo de datos
  5. Rastreador de tareas

Los tres primeros son servicios maestros/daemons/nodos y los dos últimos son servicios esclavos. Los servicios maestros pueden comunicarse entre sí y, de la misma manera, los servicios esclavos pueden comunicarse entre sí. El nodo de nombre es un nodo maestro y el nodo de datos es su nodo esclavo correspondiente y pueden comunicarse entre sí.

Nodo de nombre: HDFS consta de un solo nodo de nombre, denominado nodo maestro. El nodo maestro puede realizar un seguimiento de los archivos, administrar el sistema de archivos y tiene los metadatos de todos los datos almacenados en él. En particular, el nodo de nombre contiene los detalles de la cantidad de bloques, las ubicaciones del nodo de datos en el que se almacenan los datos, dónde se almacenan las réplicas y otros detalles. El nodo de nombre tiene contacto directo con el cliente.

Nodo de datos: un nodo de datos almacena datos en él como bloques. También se lo conoce como nodo esclavo y almacena los datos reales en HDFS, que es responsable de que el cliente los lea y escriba. Estos son daemons esclavos. Cada nodo de datos envía un mensaje de latido al nodo de nombre cada 3 segundos y transmite que está activo. De esta manera, cuando el nodo de nombre no recibe un latido de un nodo de datos durante 2 minutos, considerará que ese nodo de datos está inactivo e iniciará el proceso de replicaciones de bloques en algún otro nodo de datos.

Nodo de nombre secundario: este solo se encarga de los puntos de control de los metadatos del sistema de archivos que se encuentran en el nodo de nombre. También se lo conoce como nodo de punto de control. Es el nodo auxiliar del nodo de nombre. El nodo de nombre secundario le indica al nodo de nombre que cree y envíe el archivo fsimage y editlog, sobre el cual el nodo de nombre secundario crea el archivo fsimage compactado. [38]

Rastreador de trabajos: el rastreador de trabajos recibe las solicitudes de ejecución de Map Reduce del cliente. El rastreador de trabajos se comunica con el nodo de nombre para conocer la ubicación de los datos que se utilizarán en el procesamiento. El nodo de nombre responde con los metadatos de los datos de procesamiento necesarios.

Rastreador de tareas: es el nodo esclavo del rastreador de tareas y tomará la tarea del rastreador de tareas. También recibe código del rastreador de tareas. El rastreador de tareas tomará el código y lo aplicará al archivo. El proceso de aplicar ese código al archivo se conoce como Mapper. [39]

El clúster Hadoop tiene nominalmente un solo nodo de nombre más un clúster de nodos de datos, aunque hay opciones de redundancia disponibles para el nodo de nombre debido a su criticidad. Cada nodo de datos proporciona bloques de datos a través de la red utilizando un protocolo de bloques específico de HDFS. El sistema de archivos utiliza sockets TCP/IP para la comunicación. Los clientes utilizan llamadas a procedimientos remotos (RPC) para comunicarse entre sí.

HDFS almacena archivos grandes (normalmente en el rango de gigabytes a terabytes [40] ) en varias máquinas. Logra confiabilidad replicando los datos en varios hosts y, por lo tanto, teóricamente no requiere almacenamiento redundante en matriz de discos independientes (RAID) en los hosts (pero para aumentar el rendimiento de entrada-salida (E/S) algunas configuraciones RAID siguen siendo útiles). Con el valor de replicación predeterminado, 3, los datos se almacenan en tres nodos: dos en el mismo rack y uno en un rack diferente. Los nodos de datos pueden comunicarse entre sí para reequilibrar los datos, mover copias y mantener alta la replicación de datos. HDFS no es totalmente compatible con POSIX, porque los requisitos para un sistema de archivos POSIX difieren de los objetivos de una aplicación Hadoop. La desventaja de no tener un sistema de archivos totalmente compatible con POSIX es un mayor rendimiento para el procesamiento de datos y soporte para operaciones no POSIX como Append. [41]

En mayo de 2012, se agregaron capacidades de alta disponibilidad a HDFS, [42] lo que permite que el servidor de metadatos principal, llamado NameNode, realice una conmutación por error manual en una copia de seguridad. El proyecto también ha comenzado a desarrollar conmutaciones por error automáticas .

El sistema de archivos HDFS incluye un denominado namenode secundario , un término engañoso que algunos podrían interpretar incorrectamente como un namenode de respaldo cuando el namenode principal se desconecta. De hecho, el namenode secundario se conecta regularmente con el namenode principal y crea instantáneas de la información del directorio del namenode principal, que luego el sistema guarda en directorios locales o remotos. Estas imágenes con puntos de control se pueden usar para reiniciar un namenode principal fallido sin tener que reproducir todo el diario de acciones del sistema de archivos y luego editar el registro para crear una estructura de directorio actualizada. Debido a que el namenode es el único punto para el almacenamiento y la administración de metadatos, puede convertirse en un cuello de botella para admitir una gran cantidad de archivos, especialmente una gran cantidad de archivos pequeños. HDFS Federation, una nueva incorporación, tiene como objetivo abordar este problema hasta cierto punto al permitir que varios espacios de nombres sean atendidos por namenodes separados. Además, existen algunos problemas en HDFS, como problemas con archivos pequeños, problemas de escalabilidad, punto único de falla (SPoF) y cuellos de botella en solicitudes de metadatos enormes. Una ventaja de usar HDFS es el conocimiento de los datos entre el rastreador de trabajos y el rastreador de tareas. El rastreador de trabajos programa trabajos de mapeo o reducción para los rastreadores de tareas con conocimiento de la ubicación de los datos. Por ejemplo: si el nodo A contiene datos (a, b, c) y el nodo X contiene datos (x, y, z), el rastreador de trabajos programa el nodo A para que realice tareas de mapeo o reducción en (a, b, c) y el nodo X se programaría para que realice tareas de mapeo o reducción en (x, y, z). Esto reduce la cantidad de tráfico que pasa por la red y evita la transferencia innecesaria de datos. Cuando se utiliza Hadoop con otros sistemas de archivos, esta ventaja no siempre está disponible. Esto puede tener un impacto significativo en los tiempos de finalización de los trabajos, como se demuestra con los trabajos con uso intensivo de datos. [43]

HDFS fue diseñado para archivos mayoritariamente inmutables y puede no ser adecuado para sistemas que requieren operaciones de escritura simultáneas. [41]

HDFS se puede montar directamente con un sistema de archivos virtual Filesystem in Userspace (FUSE) en Linux y algunos otros sistemas Unix .

Se puede acceder a los archivos a través de la API nativa de Java, la API Thrift (genera un cliente en varios lenguajes, por ejemplo, C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa , Smalltalk y OCaml ), la interfaz de línea de comandos , la aplicación web HDFS-UI sobre HTTP o mediante bibliotecas de cliente de red de terceros. [44]

HDFS está diseñado para portabilidad entre varias plataformas de hardware y para compatibilidad con una variedad de sistemas operativos subyacentes. El diseño de HDFS introduce limitaciones de portabilidad que resultan en algunos cuellos de botella de rendimiento, ya que la implementación de Java no puede usar características que son exclusivas de la plataforma en la que se ejecuta HDFS. [45] Debido a su amplia integración en la infraestructura de nivel empresarial, monitorear el rendimiento de HDFS a escala se ha convertido en un problema cada vez más importante. Monitorear el rendimiento de extremo a extremo requiere métricas de seguimiento de nodos de datos, nodos de nombres y el sistema operativo subyacente. [46] Actualmente, existen varias plataformas de monitoreo para rastrear el rendimiento de HDFS, incluidas Hortonworks , Cloudera y Datadog .

Otros sistemas de archivos

Hadoop trabaja directamente con cualquier sistema de archivos distribuido que pueda ser montado por el sistema operativo subyacente simplemente usando una file://URL; sin embargo, esto tiene un precio: la pérdida de localidad. Para reducir el tráfico de red, Hadoop necesita saber qué servidores están más cerca de los datos, información que los puentes de sistemas de archivos específicos de Hadoop pueden proporcionar.

En mayo de 2011, la lista de sistemas de archivos compatibles incluidos con Apache Hadoop era:

También se han escrito varios puentes de sistemas de archivos de terceros, ninguno de los cuales se encuentra actualmente en distribuciones de Hadoop. Sin embargo, algunas distribuciones comerciales de Hadoop se entregan con un sistema de archivos alternativo como predeterminado, específicamente IBM y MapR .

JobTracker y TaskTracker: el motor MapReduce

Encima de los sistemas de archivos se encuentra el motor MapReduce, que consta de un JobTracker , al que las aplicaciones cliente envían trabajos de MapReduce. El JobTracker envía el trabajo a los nodos TaskTracker disponibles en el clúster, intentando mantener el trabajo lo más cerca posible de los datos. Con un sistema de archivos que reconoce los bastidores, el JobTracker sabe qué nodo contiene los datos y qué otras máquinas están cerca. Si el trabajo no se puede alojar en el nodo real donde residen los datos, se da prioridad a los nodos del mismo bastidor. Esto reduce el tráfico de red en la red troncal principal. Si un TaskTracker falla o se agota el tiempo de espera, esa parte del trabajo se reprograma. El TaskTracker en cada nodo genera un proceso de máquina virtual Java (JVM) independiente para evitar que el propio TaskTracker falle si el trabajo en ejecución bloquea su JVM. Se envía un latido desde el TaskTracker al JobTracker cada pocos minutos para verificar su estado. Jetty expone el estado y la información de Job Tracker y TaskTracker y se pueden ver desde un navegador web.

Las limitaciones conocidas de este enfoque son:

  1. La asignación de trabajo a los TaskTrackers es muy sencilla. Cada TaskTracker tiene una cantidad de ranuras disponibles (por ejemplo, "4 ranuras"). Cada tarea de reducción o mapeo activa ocupa una ranura. El Job Tracker asigna trabajo al rastreador más cercano a los datos con una ranura disponible. No se tiene en cuenta la carga actual del sistema de la máquina asignada y, por lo tanto, su disponibilidad real.
  2. Si un TaskTracker es muy lento, puede retrasar todo el trabajo de MapReduce, especialmente hacia el final, cuando todo puede terminar esperando a la tarea más lenta. Sin embargo, con la ejecución especulativa habilitada, una sola tarea se puede ejecutar en varios nodos esclavos.

Programación

De manera predeterminada, Hadoop utiliza la programación FIFO y, opcionalmente, 5 prioridades de programación para programar trabajos desde una cola de trabajo. [53] En la versión 0.19, el programador de trabajos se refactorizó para eliminarlo del JobTracker, al tiempo que se agregó la capacidad de usar un programador alternativo (como el programador Fair o el programador Capacity , que se describen a continuación). [54]

Programador de ferias

El planificador de eventos fue desarrollado por Facebook . [55] El objetivo del planificador de eventos es proporcionar tiempos de respuesta rápidos para trabajos pequeños y calidad de servicio (QoS) para trabajos de producción. El planificador de eventos tiene tres conceptos básicos. [56]

  1. Los trabajos se agrupan en grupos .
  2. A cada pool se le asigna una cuota mínima garantizada.
  3. El exceso de capacidad se divide entre los trabajos.

De forma predeterminada, los trabajos que no están categorizados se incluyen en un grupo predeterminado. Los grupos deben especificar la cantidad mínima de espacios de mapa, espacios de reducción y un límite en la cantidad de trabajos en ejecución.

Programador de capacidad

El programador de capacidad fue desarrollado por Yahoo. El programador de capacidad admite varias funciones similares a las del programador de ferias. [57]

  1. A las colas se les asigna una fracción de la capacidad total de recursos.
  2. Los recursos libres se asignan a las colas que superan su capacidad total.
  3. Dentro de una cola, un trabajo con un alto nivel de prioridad tiene acceso a los recursos de la cola.

No hay preferencia una vez que se ejecuta un trabajo.

Diferencia entre Hadoop 1 y Hadoop 2 (YARN)

La mayor diferencia entre Hadoop 1 y Hadoop 2 es la incorporación de YARN (Yet Another Resource Negotiator), que reemplazó al motor MapReduce en la primera versión de Hadoop. YARN se esfuerza por asignar recursos a varias aplicaciones de manera efectiva. Ejecuta dos daemons, que se encargan de dos tareas diferentes: el administrador de recursos , que realiza el seguimiento de trabajos y la asignación de recursos a las aplicaciones, y el maestro de aplicaciones , que monitorea el progreso de la ejecución.

Diferencia entre Hadoop 2 y Hadoop 3

Hadoop 3 ofrece características importantes. Por ejemplo, mientras que en Hadoop 2 hay un único nodo de nombre , Hadoop 3 permite tener múltiples nodos de nombre, lo que resuelve el problema del punto único de falla.

En Hadoop 3, hay contenedores que funcionan según el principio de Docker , lo que reduce el tiempo dedicado al desarrollo de aplicaciones.

Uno de los cambios más grandes es que Hadoop 3 reduce la sobrecarga de almacenamiento con codificación de borrado .

Además, Hadoop 3 permite el uso de hardware GPU dentro del clúster, lo que constituye un beneficio muy importante para ejecutar algoritmos de aprendizaje profundo en un clúster Hadoop. [58]

Otras aplicaciones

HDFS no se limita a los trabajos de MapReduce. Se puede utilizar para otras aplicaciones, muchas de las cuales están en desarrollo en Apache. La lista incluye la base de datos HBase , el sistema de aprendizaje automático Apache Mahout y el almacén de datos Apache Hive . En teoría, Hadoop se podría utilizar para cualquier carga de trabajo que esté orientada a lotes en lugar de tiempo real, sea muy intensiva en datos y se beneficie del procesamiento paralelo . También se puede utilizar para complementar un sistema en tiempo real, como la arquitectura lambda , Apache Storm , Flink y Spark Streaming . [59]

Las aplicaciones comerciales de Hadoop incluyen: [60]

Casos de uso destacados

El 19 de febrero de 2008, Yahoo! Inc. lanzó lo que afirmaba que era la aplicación de producción Hadoop más grande del mundo. Yahoo! Search Webmap es una aplicación Hadoop que se ejecuta en un clúster Linux con más de 10.000 núcleos y produce datos que se utilizan en cada consulta de búsqueda web de Yahoo! [61] Hay varios clústeres Hadoop en Yahoo! y ningún sistema de archivos HDFS o trabajos MapReduce se dividen en varios centros de datos. Cada nodo del clúster Hadoop arranca la imagen Linux, incluida la distribución Hadoop. Se sabe que el trabajo que realizan los clústeres incluye los cálculos de índice para el motor de búsqueda Yahoo! En junio de 2009, Yahoo! puso el código fuente de su versión Hadoop a disposición de la comunidad de código abierto. [62]

En 2010, Facebook afirmó que tenía el clúster Hadoop más grande del mundo con 21 PB de almacenamiento. [63] En junio de 2012, anunciaron que los datos habían crecido a 100 PB [64] y más tarde ese año anunciaron que los datos estaban creciendo aproximadamente medio PB por día. [65]

A partir de 2013 , la adopción de Hadoop se había generalizado: más de la mitad de las empresas Fortune 50 usaban Hadoop. [66]

Alojamiento de Hadoop en la nube

Hadoop se puede implementar en un centro de datos local tradicional así como en la nube . [67] La ​​nube permite a las organizaciones implementar Hadoop sin la necesidad de adquirir hardware o experiencia de configuración específica. [68]

Soporte comercial

Varias empresas ofrecen implementaciones comerciales o soporte para Hadoop. [69]

Herrada

La Apache Software Foundation ha declarado que sólo el software publicado oficialmente por el Proyecto Apache Hadoop puede llamarse Apache Hadoop o Distribuciones de Apache Hadoop . [70] La denominación de productos y trabajos derivados de otros proveedores y el término "compatible" son algo controvertidos dentro de la comunidad de desarrolladores de Hadoop. [71]

Papeles

Algunos artículos influyeron en el nacimiento y el crecimiento de Hadoop y el procesamiento de big data. Algunos de ellos son:

Véase también

Referencias

  1. ^ "Lanzamientos de Hadoop". apache.org . Apache Software Foundation . Consultado el 28 de abril de 2019 .
  2. ^ ab "Apache Hadoop" . Consultado el 27 de septiembre de 2022 .
  3. ^ Judge, Peter (22 de octubre de 2012). "Doug Cutting: Big Data Is No Bubble" (Doug Cutting: Big Data no es una burbuja). silicon.co.uk . Consultado el 11 de marzo de 2018 .
  4. ^ Woodie, Alex (12 de mayo de 2014). "Why Hadoop on IBM Power" (Por qué Hadoop en IBM Power). datanami.com . Datanami . Consultado el 11 de marzo de 2018 .
  5. ^ Hemsoth, Nicole (15 de octubre de 2014). "Cray lanza Hadoop al espacio aéreo de HPC". hpcwire.com . Consultado el 11 de marzo de 2018 .
  6. ^ "¡Bienvenido a Apache Hadoop!". hadoop.apache.org . Consultado el 25 de agosto de 2016 .
  7. ^ "¿Qué es el sistema de archivos distribuido Hadoop (HDFS)?". ibm.com . IBM . Consultado el 12 de abril de 2021 .
  8. ^ Malak, Michael (19 de septiembre de 2014). "Localidad de datos: HPC frente a Hadoop frente a Spark". datascienceassn.org . Asociación de Ciencia de Datos . Consultado el 30 de octubre de 2014 .
  9. ^ Wang, Yandong; Goldstone, Robin; Yu, Weikuan; Wang, Teng (octubre de 2014). "Caracterización y optimización de MapReduce residente en memoria en sistemas HPC". 2014 IEEE 28th International Parallel and Distributed Processing Symposium . IEEE. págs. 799–808. doi :10.1109/IPDPS.2014.87. ISBN 978-1-4799-3800-1.S2CID11157612  .​
  10. ^ "Recurso (Apache Hadoop Main 2.5.1 API)". apache.org . Apache Software Foundation. 12 de septiembre de 2014. Archivado desde el original el 6 de octubre de 2014 . Consultado el 30 de septiembre de 2014 .
  11. ^ Murthy, Arun (15 de agosto de 2012). "Apache Hadoop YARN: conceptos y aplicaciones". hortonworks.com . Hortonworks . Consultado el 30 de septiembre de 2014 .
  12. ^ "Continuuity recauda $10 millones en ronda Serie A para impulsar el desarrollo de aplicaciones de Big Data dentro del ecosistema Hadoop". finance.yahoo.com . Marketwired . 14 de noviembre de 2012 . Consultado el 30 de octubre de 2014 .
  13. ^ "Proyectos relacionados con Hadoop en". Hadoop.apache.org . Consultado el 17 de octubre de 2013 .
  14. ^ Ciencia de datos y análisis de macrodatos: descubrimiento, análisis, visualización y presentación de datos. John Wiley & Sons. 19 de diciembre de 2014. pág. 300. ISBN 9781118876220. Recuperado el 29 de enero de 2015 .
  15. ^ "[nlpatumd] Aventuras con Hadoop y Perl". Mail-archive.com. 2 de mayo de 2010. Consultado el 5 de abril de 2013 .
  16. ^ Cutting, Mike; Cafarella, Ben; Lorica, Doug (31 de marzo de 2016). "Los próximos 10 años de Apache Hadoop". O'Reilly Media . Consultado el 12 de octubre de 2017 .
  17. ^ Ghemawat, Sanjay; Gobioff, Howard; Leung, Shun-Tak (2003). "El sistema de archivos de Google". págs. 20–43.
  18. ^ Dean, Jeffrey; Ghemawat, Sanjay (2004). "MapReduce: procesamiento de datos simplificado en clústeres grandes". págs. 137–150.
  19. ^ Cutting, Doug (28 de enero de 2006). "Nueva solicitud de listas de correo: hadoop". issues.apache.org . El PMC de Lucene ha votado dividir parte de Nutch en un nuevo subproyecto llamado Hadoop
  20. ^ Vance, Ashlee (17 de marzo de 2009). «Hadoop, un programa de software libre, encuentra usos más allá de la búsqueda». The New York Times . Archivado desde el original el 30 de agosto de 2011. Consultado el 20 de enero de 2010 .
  21. ^ Cutting, Doug (30 de marzo de 2006). "[RESULTADO] VOTACIÓN: agregar a Owen O'Malley como responsable de Hadoop". hadoop-common-dev (Lista de correo).
  22. ^ "Índice de /dist/hadoop/core". archive.apache.org . Consultado el 11 de diciembre de 2017 .
  23. ^ "Quiénes somos". hadoop.apache.org . Consultado el 11 de diciembre de 2017 .
  24. ^ Borthakur, Dhruba (2006). "El sistema de archivos distribuido Hadoop: arquitectura y diseño" (PDF) . Repositorio de código Apache Hadoop .
  25. ^ "La versión 2.10.2 está disponible". hadoop.apache.org .
  26. ^ "La versión 3.0.0 ya está disponible de forma general". hadoop.apache.org .
  27. ^ "Versión 3.0.3 disponible". hadoop.apache.org .
  28. ^ "La versión 3.1.4 está disponible". hadoop.apache.org .
  29. ^ "La versión 3.2.4 está disponible". hadoop.apache.org .
  30. ^ "La versión 3.3.6 está disponible". hadoop.apache.org .
  31. ^ "Versión 3.4.0 disponible". hadoop.apache.org .
  32. ^ Chouraria, Harsh (21 de octubre de 2012). "MR2 y YARN explicados brevemente". Cloudera.com . Archivado desde el original el 22 de octubre de 2013. Consultado el 23 de octubre de 2013 .
  33. ^ "Guía del usuario de HDFS". Hadoop.apache.org . Consultado el 4 de septiembre de 2014 .
  34. ^ "Ejecución de Hadoop en el sistema Ubuntu Linux (clúster de varios nodos)".
  35. ^ "Ejecución de Hadoop en Ubuntu Linux (clúster de un solo nodo)" . Consultado el 6 de junio de 2013 .
  36. ^ Evans, Chris (octubre de 2013). "Big data storage: Hadoop storage basics". computerweekly.com . Computer Weekly . Consultado el 21 de junio de 2016 . HDFS no es un sistema de archivos en el sentido tradicional y no suele montarse directamente para que un usuario lo vea
  37. ^ deRoos, Dirk. "Administración de archivos con los comandos del sistema de archivos Hadoop". dummies.com . Para Dummies . Consultado el 21 de junio de 2016 .
  38. ^ Balram. "Tutorial de Big Data Hadoop para principiantes". www.gyansetu.in . Consultado el 11 de marzo de 2021 .
  39. ^ "Apache Hadoop 2.7.5 – Guía del usuario de HDFS". Archivado desde el original el 23 de octubre de 2019 . Consultado el 19 de junio de 2020 .
  40. ^ "Arquitectura HDFS" . Consultado el 1 de septiembre de 2013 .
  41. ^ ab Pessach, Yaniv (2013). "Almacenamiento distribuido" (Almacenamiento distribuido: conceptos, algoritmos e implementaciones ed.). OL  25423189M. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  42. ^ "La versión 2.0 permite la conmutación por error manual y están trabajando en la conmutación por error automática". Hadoop.apache.org . Consultado el 30 de julio de 2013 .
  43. ^ "Mejora del rendimiento de MapReduce mediante la colocación de datos en clústeres Hadoop heterogéneos" (PDF) . Eng.auburn.ed. Abril de 2010.
  44. ^ "Montaje de HDFS". Archivado desde el original el 14 de mayo de 2014 . Consultado el 5 de agosto de 2016 .
  45. ^ Shafer, Jeffrey; Rixner, Scott; Cox, Alan. "El sistema de archivos distribuido Hadoop: equilibrio entre portabilidad y rendimiento" (PDF) . Universidad Rice . Consultado el 19 de septiembre de 2016 .
  46. ^ Mouzakitis, Evan (21 de julio de 2016). "Cómo recopilar métricas de rendimiento de Hadoop" . Consultado el 24 de octubre de 2016 .
  47. ^ "Guía del usuario de HDFS: conocimiento del rack". Hadoop.apache.org . Consultado el 17 de octubre de 2013 .
  48. ^ "Análisis de la nube: ¿realmente necesitamos reinventar la pila de almacenamiento?" (PDF) . IBM. Junio ​​de 2009.
  49. ^ "HADOOP-6330: Integración de la implementación de IBM General Parallel File System de la interfaz Hadoop Filesystem". IBM. 23 de octubre de 2009.
  50. ^ "HADOOP-6704: se añade compatibilidad con el sistema de archivos Parascale". Parascale. 14 de abril de 2010.
  51. ^ "HDFS con almacenamiento CloudIQ". Appistry, Inc. 6 de julio de 2010. Archivado desde el original el 5 de abril de 2014. Consultado el 10 de diciembre de 2013 .
  52. ^ "Alta disponibilidad de Hadoop". HP. 9 de junio de 2010.
  53. ^ "Guía de comandos". 17 de agosto de 2011. Archivado desde el original el 17 de agosto de 2011 . Consultado el 11 de diciembre de 2017 .{{cite web}}: CS1 maint: bot: estado de URL original desconocido ( enlace )
  54. ^ "Refactorizar el programador fuera de JobTracker". Hadoop Common . Apache Software Foundation . Consultado el 9 de junio de 2012 .
  55. ^ Jones, M. Tim (6 de diciembre de 2011). "Scheduling in Hadoop". ibm.com . IBM . Consultado el 20 de noviembre de 2013 .
  56. ^ "Documento de diseño del planificador de Hadoop Fair" (PDF) . apache.org . Consultado el 12 de octubre de 2017 .
  57. ^ "Guía de CapacityScheduler". Hadoop.apache.org . Consultado el 31 de diciembre de 2015 .
  58. ^ "Cómo Apache Hadoop 3 agrega valor con respecto a Apache Hadoop 2". hortonworks.com . 7 de febrero de 2018. Archivado desde el original el 16 de noviembre de 2018 . Consultado el 11 de junio de 2018 .
  59. ^ Chintapalli, Sanket; Dagit, Derek; Evans, Bobby; Farivar, Reza; Graves, Thomas; Holderbaugh, Mark; Liu, Zhuo; Nusbaum, Kyle; Patil, Kishorkumar; Peng, Boyang Jerry; Poulosky, Paul (mayo de 2016). "Evaluación comparativa de motores de computación de transmisión: Storm, Flink y Spark Streaming". Talleres del Simposio Internacional de Procesamiento Distribuido y Paralelo (IPDPSW) del IEEE de 2016. IEEE. págs. 1789–1792. doi :10.1109/IPDPSW.2016.138. ISBN . 978-1-5090-3682-0. Número de identificación del sujeto  2180634.
  60. ^ ""Cómo más de 30 empresas utilizan Hadoop", en DBMS2". Dbms2.com. 10 de octubre de 2009. Consultado el 17 de octubre de 2013 .
  61. ^ "Yahoo! lanza la aplicación de producción Hadoop más grande del mundo". Yahoo . 19 de febrero de 2008. Archivado desde el original el 7 de marzo de 2016 . Consultado el 31 de diciembre de 2015 .
  62. ^ "Hadoop y computación distribuida en Yahoo!". Yahoo!. 20 de abril de 2011. Consultado el 17 de octubre de 2013 .
  63. ^ "HDFS: Facebook tiene el clúster Hadoop más grande del mundo". Hadoopblog.blogspot.com. 9 de mayo de 2010. Consultado el 23 de mayo de 2012 .
  64. ^ "Bajo la lupa: confiabilidad del sistema de archivos distribuidos Hadoop con Namenode y Avatarnode". Facebook . Consultado el 13 de septiembre de 2012 .
  65. ^ "Bajo la lupa: Programar trabajos de MapReduce de manera más eficiente con Corona". Facebook . Consultado el 9 de noviembre de 2012 .
  66. ^ "AltraSTAR de Altior: el acelerador y optimizador de almacenamiento Hadoop ahora está certificado en CDH4 (distribución de Cloudera que incluye Apache Hadoop versión 4)" (Comunicado de prensa). Eatontown, NJ: Altior Inc. 18 de diciembre de 2012. Consultado el 30 de octubre de 2013 .
  67. ^ "Hadoop - Microsoft Azure". azure.microsoft.com . Consultado el 11 de diciembre de 2017 .
  68. ^ "Hadoop". Azure.microsoft.com . Consultado el 22 de julio de 2014 .
  69. ^ "Por qué el ritmo de innovación de Hadoop tiene que acelerarse". Gigaom.com. 25 de abril de 2011. Consultado el 17 de octubre de 2013 .
  70. ^ "Definición de Hadoop". Wiki.apache.org. 30 de marzo de 2013. Consultado el 17 de octubre de 2013 .
  71. ^ "Definición de compatibilidad con Hadoop: revisión". Mail-archives.apache.org. 10 de mayo de 2011. Consultado el 17 de octubre de 2013 .
  72. ^ "Manual del usuario de Apache Accumulo: seguridad". apache.org . Apache Software Foundation . Consultado el 3 de diciembre de 2014 .

Bibliografía

Enlaces externos