Descripción general de Big Data y ecosistema de Hadoop
Directorio de artículos
- Descripción general de Big Data y ecosistema de Hadoop
-
- ¿Qué es Big Data?
- Funciones de big data
- Computación distribuída
- ¿Qué es Hadoop?
- Desarrollo y versión de Hadoop
- ¿Por qué usar Hadoop?
- Hadoop frente a RDBMS
- Ecosistema de Hadoop
- HDFS
-
- Funciones HDFS
- HDFS CLI (línea de comando)
- hdfs dfsadmin
- Rol de HDFS
- Arquitectura HDFS
- Mecanismo de copia HDFS
- HDFS de alta disponibilidad (alta disponibilidad)
- Archivos de lectura HDFS
- Archivo de escritura HDFS
- Formato de archivo HDFS
- Uso de Java para implementar la lectura y escritura de archivos HDFS
¿Qué es Big Data?
- Big data se refiere a una recopilación de datos cuyo contenido no se puede capturar, administrar y procesar con herramientas de software convencionales dentro de un cierto período de tiempo.
Funciones de big data
Característica 4V
- Volumen (gran volumen de datos): el 90% de los datos se generaron en los últimos dos años
- Velocidad (rápida): el crecimiento de los datos es rápido y la puntualidad es alta
- Variedad: diversificación de fuentes y tipos de datos
- Datos estructurados, datos semiestructurados, datos no estructurados
- Valor (densidad de valor bajo): es necesario extraer para obtener el valor de los datos
Características inherentes
Oportunidad
Inmutabilidad
Computación distribuída
La informática distribuida divide los datos más grandes en partes más pequeñas para su procesamiento.
**** | Computación distribuida tradicional | Nueva computación distribuida-Hadoop |
---|---|---|
Cálculo | Copiar datos para calcular el nodo | Computación paralela en diferentes nodos de datos |
La cantidad de datos que se pueden procesar. | Pequeña cantidad de datos | Gran cantidad de datos |
Límite de rendimiento de la CPU | Muy limitado por la CPU | Limitado por un solo dispositivo |
Mejorar la potencia informática | Mejore la potencia informática de una sola máquina | Expanda los clústeres de servidores de bajo costo |
¿Qué es Hadoop?
-
Hadoop es una arquitectura de sistema distribuido de código abierto
- Sistema de archivos distribuido HDFS que soluciona el almacenamiento de big data
- Marco de computación distribuida MapReduce: resolución de big data computing
- Sistema de gestión de recursos distribuidos YARN
-
La arquitectura preferida para manejar datos masivos
-
Complete las tareas de computación de big data muy rápidamente
-
Se ha convertido en un ecosistema Hadoop.
Desarrollo y versión de Hadoop
-
Hadoop se originó en el motor de búsqueda Apache Nutch
- Fundador: Doug Cutting
- 2004-Versión inicial implementada
- 2008-Conviértete en uno de los mejores proyectos de Apache
-
Versión de lanzamiento de Hadoop
- Edición de la comunidad: Apache Hadoop
- Lanzamiento de Cloudera: CDH
- Lanzamiento de Hortonworks: HDP
¿Por qué usar Hadoop?
- Alta escalabilidad y escalabilidad
- Alta fiabilidad
- Mecanismo de copias múltiples, alta tolerancia a fallas
- bajo costo
- Arquitectura de nada compartido
- Flexible, puede almacenar cualquier tipo de datos
- Código abierto, comunidad activa
Hadoop frente a RDBMS
Comparación de Hadoop y base de datos relacional
**** | RDBMS | Hadoop |
---|---|---|
formato | Requerido al escribir datos | Requerido al leer datos |
velocidad | Datos de lectura rápida | Velocidad de escritura de datos rápida |
Supervisión de datos | Estructura estándar | Datos de estructura arbitraria |
procesamiento de datos | Poder de procesamiento limitado | Potente poder de procesamiento |
tipo de datos | Datos estructurados | Estructurado, semiestructurado, no estructurado |
Escenarios de aplicación | Análisis OLAP interactivo procesamiento de transacciones ACID sistema empresarial empresarial | Procesamiento de datos no estructurados, almacenamiento y cálculo masivo de datos |
Ecosistema de Hadoop
-
Hadoop core
HDFS, MapReduce, YARN, paquete público común, núcleo -
Consulta y análisis de datos
Hive, Pig, Impala, Presto -
Coordinar la gestión
HCatalog 、 Zookeeper 、 Ambari
-
migración de datos
Flume (soporte en tiempo real), Sqoop
Spark, NoSQK, aprendizaje automático, programación de tareas, etc.
Zookeeper
- Es un servicio de coordinación de aplicaciones distribuidas.
- Resolver el problema de coherencia del sistema de aplicaciones en el clúster distribuido.
- Funciones proporcionadas
- Gestión de la configuración, servicio de nombres, sincronización distribuida, gestión de colas, gestión de clústeres, etc.
- característica
- Consistencia de datos globales
- Fiabilidad, secuencia, tiempo real
- Atomicidad de actualización de datos
- Grupo de cuidadores del zoológico
- Rol: líder, seguidor, observador
Arquitectura Hadoop
- HDFS (sistema de archivos distribuido Hadoop)
- Sistema de archivos distribuido para resolver el almacenamiento distribuido
- Mapa reducido
- Marco de computación distribuida
- HILO
- Sistema de gestión de recursos distribuidos
- Introducido en Hadoop 2.x
- Común
- Programas de utilidad comunes que admiten todos los demás módulos
HDFS
Funciones HDFS
- Ventajas de HDFS
- Soporte para manejar archivos muy grandes
- Puede funcionar con máquinas baratas
- Alta tolerancia a fallas
- Transmisión de escritura de archivos
- Desventajas de HDFS
- No apto para escenarios de acceso a datos de baja latencia
- No apto para escenarios de acceso a archivos pequeños
- No apto para envío y escritura combinados, escenarios de modificación de archivos aleatorios
HDFS CLI (línea de comando)
- Formato
básico hdfs
dfs -cmd hadoop fs -cmd (obsoleto) - Comandos de Linux y similares
-ls
-mkdir
-put
-rm
-help
hdfs dfsadmin
El comando dfsadmin se usa para administrar el clúster HDFS
mando | descripción |
---|---|
hdfs dfsadmin -report | Devolver información sobre el estado del clúster |
hdfs dfsadmin -safemode entrar / salir | Entrar y salir del modo seguro |
hdfs dfsadmin -saveNamespace | Guarde el espacio de nombres del clúster |
hdfs dfsadmin -rollEdits | Revertir el registro de edición |
hdfs dfsadmin -refreshNodes | Actualizar nodo |
hdfs dfsadmin -getDatanodeInfo nodo 1 : 8010 | Obtener información del nodo de datos |
hdfs dfsadmin -setQuota 10 / h **** dfs | Establecer cuota de directorio de archivos |
Rol de HDFS
- Cliente: Cliente
- NameNode (NN): nodo de metadatos
- Administrar el espacio de nombres / metadatos del sistema de archivos
- Un clúster HDFS tiene solo un NN activo
- DataNode (DN): nodo de datos
- Nodo de almacenamiento de datos, guardar y recuperar Bloque
- Un clúster puede tener varios nodos de datos
- Nodo de nombre secundario (SNN): desde el nodo de metadatos
- Fusionar los registros de edición del NameNode en el archivo fsimage
- Ayudar a NN a conservar la información de metadatos en la memoria
Arquitectura HDFS
Mecanismo de copia HDFS
- Bloque: bloque de datos
- La unidad de almacenamiento más básica de HDFS
- Tamaño de bloque predeterminado: 128 M (2.x)
- Mecanismo de copia
- Rol: evitar la pérdida de datos
- El número predeterminado de copias es 3
- Mecanismo de almacenamiento:
- Un nodo en el rack local
- Un nodo diferente en el mismo rack
- Un nodo en un rack diferente
HDFS de alta disponibilidad (alta disponibilidad)
- En versión 1.x
- Problema de un solo punto con Namenode
- En la versión 2.x
- Solución: método de federación HDFS, compartir recursos DN
- Nodo de nombre activo
- Servicio externo
- Standby Namenode
- Activo se puede cambiar a Activo cuando falla
Archivos de lectura HDFS
Archivo de escritura HDFS
Formato de archivo HDFS
- HDFS admite el almacenamiento de todo tipo de archivos en diferentes formatos
- Texto, binario
- Sin comprimir, comprimido
- Para un procesamiento óptimo de Map-Reduce, los archivos deben poder dividirse
- SequenceFile
- Archivo Avro
- RCFile y ORCFile
- Archivo de parquet