Infraestructura Hadoop de sistema pseudodistribuido

¿Qué es Apache Hadoop?

hadoop es un marco que permite el procesamiento distribuido de grandes conjuntos de datos a través de grupos de computadoras utilizando un modelo de programación simple. Está diseñado para escalar desde un único servidor a miles de máquinas, cada una de las cuales proporciona computación y almacenamiento local. La biblioteca en sí está diseñada para detectar y manejar fallas en la capa de aplicación, en lugar de depender del hardware para proporcionar servicios de alta disponibilidad, por lo que la entrega de servicios de alta disponibilidad en un conjunto de computadoras puede fallar.

Hadoop es una gran familia, un ecosistema de código abierto, un sistema operativo distribuido y una arquitectura basada en el lenguaje de programación Java. Sin embargo, sus tecnologías más brillantes son HDFS y MapReduce, que le permiten procesar grandes cantidades de datos de manera distribuida.

Tiene las ventajas de código abierto, confiable, escalable, computación distribuida, etc.

El marco hadoop incluye los siguientes módulos:

Common Hadoop Common: programa de utilidad común que admite otros módulos de Hadoop.

Ado Hadoop HDFS (sistema de archivos de distribución hadoop): Sistema de archivos distribuidos de Hadoop (HDFS ™): un sistema de archivos distribuido que proporciona acceso de alto rendimiento a los datos de la aplicación.

③Hadoop YARN: Hadoop YARN : un marco para la programación de trabajos y la gestión de recursos de clúster.

AdoHadoop MapReaduce: Hadoop MapReduce: un sistema de procesamiento paralelo para grandes conjuntos de datos basados ​​en hilo

 

Distribuido: comparado con centralizado

Centralizado: una máquina, todo el software está instalado en la misma computadora

Distribuido: múltiples máquinas, dividiendo cosas y software, cada máquina almacena una parte

Si: un proyecto de centro comercial, hay un módulo de pedido, un módulo de usuario, un módulo de pedido ... puede colocar cada módulo en una máquina diferente y trabajar juntos

En otras palabras, una tarea grande puede dividirse en múltiples servicios implementados en diferentes servidores.

Clúster: el mismo servicio se implementa en varios servidores

 

Arquitectura maestro-esclavo:

Hadoop es un marco de software capaz de distribuir grandes cantidades de datos de manera distribuida. Implementa el modelo y marco de programación MapReduce de Google. Puede dividir las aplicaciones en muchas pequeñas unidades de trabajo y colocarlas en cualquier nodo del clúster para su ejecución. En MapReduce, una aplicación que está lista para ser enviada para su ejecución se convierte en un "trabajo de trabajo", y una unidad de trabajo que se ejecuta desde un trabajo y se ejecuta en múltiples nodos informáticos se convierte en una "tarea de tarea". Además, el sistema de archivos distribuido HDFS proporcionado por Hadoop es el principal responsable del almacenamiento de datos en cada nodo y logra la lectura y escritura de datos de alto rendimiento.

En términos de almacenamiento distribuido y computación distribuida, Hadoop utiliza una arquitectura maestro / esclavo (Maestro / Esclavo). Para ejecutar Hadoop en un clúster totalmente configurado, debe ejecutar una serie de programas daemon en el clúster. Los diferentes programas fetales desempeñan diferentes roles. Estos roles consisten en NameNode, DataNode, Secondary NameNode, JobTracker y TaskTracker. Entre ellos, NameNode, Secondary NameNode, JobTracker se ejecuta en los puntos Master, y en cada nodo Slave, uno se implementa. DataNode y TaskTracker, por un lado, el programa de procesamiento de datos que se ejecuta en este servidor esclavo puede procesar directamente los datos de esta máquina tanto como sea posible. Una nota especial para el nodo maestro es que en un clúster pequeño, el NameNode secundario puede pertenecer a un nodo esclavo; en un sumidero de clúster grande, NameNode y JobTracker se implementan en dos servidores.

NameNode

NameNode es el demonio de HDFS, que se encarga de registrar cómo se divide el archivo en bloques de datos y en qué nodos de datos se almacenan los bloques de datos. Su función principal es administrar centralmente la memoria y las E / S.

En general, el servidor donde se encuentra el NameNode no almacena ninguna información del usuario ni realiza tareas de cálculo para evitar que estos programas degraden el rendimiento del servidor. Si otros servidores esclavos no funcionan debido a problemas de hardware y software, el clúster de Hadoop puede continuar ejecutándose o reiniciarse rápidamente. Sin embargo, dado que NameNode es un nodo único en el clúster de Hadoop, una vez que el servidor NameNode deja de funcionar, todo el sistema no podrá ejecutarse.
DataNode

Cada servidor esclavo en el clúster ejecuta un programa en segundo plano DataNode, que es responsable de leer y escribir bloques de datos HDFS en el sistema de archivos local. Cuando necesita leer / escribir ciertos datos a través del cliente, NameNode primero le dice al cliente a qué DataNode debe dirigirse para operaciones específicas de lectura / escritura. Luego, el cliente se comunica directamente con el programa en segundo plano del servidor DataNode y los datos correspondientes El bloque realiza operaciones de lectura / escritura.

La arquitectura maestro-esclavo es equivalente al administrador del proyecto, el administrador y el planificador; el nodo esclavo es la persona administrada y el ejecutor

Sistema de archivos distribuido HDFS:

   Nodo maestro: nombreNodo: divida el archivo almacenado en bloques de bloques para el almacenamiento (cada bloque de bloques tiene 128M de memoria), y cada bloque de bloques tiene tres copias (para evitar que un daño de bloque afecte la operación de todo el programa)

Nodo esclavo: dataNode: gestiona el almacenamiento y almacena bloques de bloques de datos en la máquina del nodo donde se encuentra el DataNode actual

 

Gestión distribuida de recursos de clúster HILO:

Los recursos de la gestión de recursos del clúster son: núcleo de CPU (núcleo) y memoria

Nodo maestro: resourceManager gestiona los recursos de todo el clúster y recibe las aplicaciones enviadas por los clientes

Nodo esclavo: nodeManager gestiona los recursos de cada nodo (cada máquina)

 

Cuando una empresa implementa un clúster Hadoop, el DataNode HDFS y el administrador de nodos YARN están básicamente en la misma máquina, haciendo un uso completo de los recursos

 

105 artículos originales publicados · Me gusta 536 · Visitas 70,000+

Supongo que te gusta

Origin blog.csdn.net/qq_41934990/article/details/81507446
Recomendado
Clasificación