sql >> Base de Datos >  >> NoSQL >> HBase

Hadoop:un tutorial de Apache Hadoop para principiantes

El objetivo principal de este Hadoop El tutorial es para describir todos y cada uno de los aspectos de Apache Hadoop Framework. Básicamente, este tutorial está diseñado de manera que sería fácil aprender Hadoop desde lo básico.

En este artículo, haremos todo lo posible para responder preguntas como qué es Big data Hadoop, cuál es la necesidad de Hadoop, cuál es la historia de Hadoop y, por último, las ventajas y desventajas del marco Apache Hadoop.

Nuestra esperanza es que después de leer este artículo, tenga una comprensión clara de lo que es un marco Hadoop.

¿Qué es Hadoop?

Es un marco de software de código abierto para el almacenamiento y procesamiento distribuido de una gran cantidad de conjuntos de datos. Código abierto significa que está disponible gratuitamente e incluso podemos cambiar su código fuente según sus requisitos.

También hace posible ejecutar aplicaciones en un sistema con miles de nodos. Su sistema de archivos distribuido tiene la provisión de tasas rápidas de transferencia de datos entre nodos. También permite que el sistema continúe funcionando en caso de falla del nodo.

Hadoop proporciona-

  • La capa de almacenamiento: HDFS
  • Motor de procesamiento por lotes: MapReduce
  • Capa de administración de recursos:YARN

Hadoop – Historia

En 2003, Google lanza el proyecto Nutch para manejar miles de millones de búsquedas. También para indexar millones de páginas web. En octubre de 2003, Google publicó GFS (Google File System), a partir de ese documento se originó Hadoop.

En 2004, Google lanza papel con MapReduce . Y en 2005, Nutch usó GFS y MapReduce para realizar operaciones.

En 2006, los informáticos Doug CuttingMike Cafarella  creó Hadoop. En febrero de 2006, Doug Cutting se unió a Yahoo . Esto proporcionó recursos y el equipo dedicado para convertir Hadoop en un sistema que se ejecutaba a escala web. En 2007, Yahoo comenzó a usar Hadoop en un clúster de 100 nodos.

En enero de 2008, Hadoop realizó su propio proyecto de alto nivel en Apache, lo que confirmó su éxito. Muchas otras empresas utilizaron Hadoop además de Yahoo!, como el New York Times y Facebook.

En abril de 2008, Hadoop batió un récord mundial al convertirse en el sistema más rápido en clasificar un terabyte de datos. Al ejecutarse en un clúster de 910 nodos, se clasificó un terabyte en 209 segundos.

En diciembre de 2011, Apache Hadoop lanzó la versión 1.0. En agosto de 2013, estaba disponible la versión 2.0.6. Posteriormente, en junio de 2017, estará disponible Apache Hadoop 3.0.0-alpha4. ASF (Apache Software Foundation) administra y mantiene el marco y el ecosistema de tecnologías de Hadoop.

¿Por qué Hadoop?

Como hemos aprendido la Introducción, ahora vamos a aprender ¿cuál es la necesidad de Hadoop?

Surgió como una solución al “Big Data ” problemas-

a. Almacenamiento para Big Data – HDFS Resuelto este problema. Almacena Big Data de Manera Distribuida. HDFS también almacena cada archivo como bloques. El bloque es la unidad de datos más pequeña en un sistema de archivos.

Suponga que tiene 512 MB de datos. Y ha configurado HDFS de modo que creará 128 Mb de bloques de datos. HDFS divide los datos en 4 bloques (512/128=4) y lo almacena en diferentes DataNodes. También replica los bloques de datos en diferentes nodos de datos.

Por lo tanto, almacenar big data no es un desafío.

b. Escalabilidad – También resuelve el problema de escalado. Se centra principalmente en la escala horizontal en lugar de la escala vertical. Puede agregar nodos de datos adicionales al clúster HDFS cuando sea necesario. En lugar de ampliar los recursos de sus nodos de datos.

Por lo tanto, mejora drásticamente el rendimiento.

c. Almacenamiento de la variedad de datos  – HDFS resolvió este problema. HDFS puede almacenar todo tipo de datos (estructurados, semiestructurados o no estructurados). También sigue escribe una vez y lee muchos modelos .

Debido a esto, puede escribir cualquier tipo de datos una vez y puede leerlos varias veces para encontrar información.

d. Velocidad de procesamiento de datos  – Este es el principal problema de los grandes datos. Para resolver este problema, mueva la computación a los datos en lugar de los datos a la computación. Este principio es  Localidad de los datos .

Componentes principales de Hadoop

Ahora aprenderemos en detalle el componente principal de Apache Hadoop. Tiene 3 componentes principales-

  • HDFS
  • MapaReducir
  • YARN (Otro negociador de recursos más)

Analicemos estos componentes principales uno por uno.

a. HDFS

Sistema de archivos distribuido Hadoop (HDFS) es el sistema de almacenamiento principal de Hadoop. HDFS almacena archivos muy grandes que se ejecutan en un grupo de hardware básico. Sigue el principio de almacenar menos cantidad de archivos grandes en lugar de una gran cantidad de archivos pequeños.

Almacena datos de forma fiable incluso en caso de fallo del hardware. Proporciona acceso de alto rendimiento a la aplicación accediendo en paralelo.

Componentes de HDFS:

  • NombreNodo – Funciona como Master en el clúster. Namenode almacena metadatos . Una serie de bloques, réplicas y otros detalles. Los metadatos están presentes en la memoria del maestro. NameNode mantiene y también administra los nodos esclavos y les asigna tareas. Debe implementarse en hardware confiable, ya que es la pieza central de HDFS.
  • Nodo de datos:  Funciona como Esclavo en el clúster. En HDFS, DataNode es responsable de almacenar datos reales en HDFS. DataNode realiza operaciones de lectura y escritura según la solicitud de los clientes. DataNodes también se puede implementar en hardware básico.

b. MapaReducir

MapReduce es la capa de procesamiento de datos de Hadoop. Procesa grandes datos estructurados y no estructurados almacenados en HDFS. MapReduce también procesa una gran cantidad de datos en paralelo.

Para ello, divide el trabajo (trabajo enviado) en un conjunto de tareas independientes (subtrabajo). MapReduce funciona dividiendo el procesamiento en fases:mapear y reducir.

  • Mapa:  Es la primera fase de procesamiento, donde especificamos todo el código lógico complejo.
  • Reducir – Es la segunda fase del procesamiento. Aquí especificamos procesamiento ligero como agregación/suma.

c. HILO

YARN proporciona la gestión de recursos. Es el sistema operativo de Hadoop. Es responsable de administrar y monitorear las cargas de trabajo, además de implementar controles de seguridad. Apache YARN también es una plataforma central para ofrecer herramientas de gobierno de datos en los clústeres.

YARN permite múltiples motores de procesamiento de datos, como transmisión en tiempo real, procesamiento por lotes, etc.

Componentes de HILO:

  • Administrador de recursos:  Es un componente de nivel de clúster y se ejecuta en la máquina Maestra. Administra recursos y programa aplicaciones que se ejecutan sobre YARN. Tiene dos componentes:Programador y Administrador de aplicaciones.
  • Administrador de nodos: Es un componente de nivel de nodo. Se ejecuta en cada máquina esclava. Se comunica continuamente con Resource Manager para mantenerse actualizado

Ventajas de Hadoop

Analicemos ahora varias ventajas de Hadoop para resolver los problemas de big data.

  • Escalabilidad: Al agregar nodos, podemos hacer crecer fácilmente nuestro sistema para manejar más datos.
  • Flexibilidad:  En este marco, no tiene que preprocesar los datos antes de almacenarlos. Puede almacenar tantos datos como desee y decidir cómo usarlos más tarde.
  • Económico:  El marco de código abierto es gratuito y se ejecuta en hardware básico de bajo costo.
  • Tolerancia a errores:  Si los nodos se caen, los trabajos se redirigen automáticamente a otros nodos.
  • Potencia informática: es  el modelo de computación distribuida procesa big data rápidamente. Cuantos más nodos informáticos utilice, más potencia de procesamiento tendrá.

Desventajas de Hadoop

Algunas desventajas de Apache Hadoop Framework se dan a continuación-

  • Preocupaciones de seguridad: Puede ser un desafío administrar la aplicación compleja. Si el usuario no sabe cómo habilitar la plataforma que administra la plataforma, sus datos podrían ser un gran riesgo. Dado que, los niveles de red y almacenamiento de Hadoop carecen de cifrado, lo cual es un punto de gran preocupación.
  • Vulnerable por naturaleza:  El marco está escrito casi en Java, el lenguaje más utilizado. Java es muy explotado por los ciberdelincuentes. Como resultado, está implicado en numerosas violaciones de seguridad.
  • No apto para datos pequeños: Dado que no es adecuado para datos pequeños. Por lo tanto, carece de la capacidad de admitir de manera eficiente la lectura aleatoria de archivos pequeños.
  • Posibles problemas de estabilidad:  Como es un marco de código abierto. Esto significa que es creado por muchos desarrolladores que continúan trabajando en el proyecto. Si bien se realizan mejoras constantemente, tiene problemas de estabilidad. Para evitar estos problemas, las organizaciones deben ejecutar la última versión estable.

Conclusión

En conclusión, podemos decir que es la herramienta de Big data más popular y poderosa. Almacena una gran cantidad de datos de forma distribuida.

Y luego procesa los datos en paralelo en un grupo de nodos. También proporciona la capa de almacenamiento más confiable del mundo:HDFS. Motor de procesamiento por lotes MapReduce y capa de gestión de recursos:YARN.

Por lo tanto, estos demonios aseguran la funcionalidad de Hadoop.


No