Introducción a la tecnología ecológica Big Data Hadoop

El ecosistema de Hadoop se refiere a una serie de herramientas y software de código abierto formados en torno a la plataforma de procesamiento de big data de Hadoop para respaldar escenarios de aplicaciones como procesamiento, almacenamiento, administración, análisis y visualización de datos a gran escala. Divide temporalmente sus tecnologías principales en 9 categorías: 

  1. Marco técnico de adquisición de datos: Flume, Logstash, FileBeat; Sqoop y Datax; Cannal y Maxwell
  2. Marco de tecnología de almacenamiento de datos:  HDFS, HBase, Kudu, Kafka
  3. Marco de gestión de recursos distribuidos:  YARN, Kubernetes y Mesos
  4. Marco de tecnología de computación de datos
    1. Informática de datos fuera de línea: MapReduce, Tez, Spark
    2. Cómputo de datos en tiempo real: SparkStreaming en Storm, Flink, Spark
  5. Marco técnico de análisis de datos:  Hive, Impala, Kylin, Clickhouse, Druid, Doris
  6. Marco técnico de programación de tareas: Azkaban, Ooize, DolphinScheduler
  7. El marco técnico subyacente de big data: Zookeeper
  8. Marco tecnológico de recuperación de datos: Lucene, Solr y Elasticsearch
  9. Marco de gestión de instalación de clúster de big data: HDP, CDH, CDP

 La ecología de Hadoop comúnmente utilizada actualmente incluye:

  1. HDFS: el sistema de archivos distribuidos de Hadoop (HDFS) es el sistema de archivos distribuidos de Hadoop para almacenar conjuntos de datos a gran escala, lo que proporciona alta tolerancia a fallas y acceso a datos de alto rendimiento.
  2. MapReduce: el marco de computación distribuida de Hadoop para procesar conjuntos de datos a gran escala, lo que permite tareas como la computación distribuida, la limpieza de datos y el procesamiento por lotes.
  3. YARN: Yet Another Resource Negotiator (YARN) es el marco de gestión de recursos de Hadoop, que se utiliza para separar la informática y el almacenamiento y realizar una gestión y programación unificadas de los recursos del clúster.
  4. Hive: una herramienta de almacenamiento de datos en Hadoop, similar a una base de datos SQL tradicional, que puede realizar operaciones de almacenamiento, consulta y análisis de datos a través de HiveQL.
  5. HBase: base de datos distribuida en Hadoop, basada en HDFS, admite consultas de alta velocidad y lectura y escritura aleatorias.
  6. Pig: Pig es un lenguaje de flujo de datos basado en Hadoop para realizar tareas complejas de procesamiento de datos en la plataforma Hadoop.
  7. Sqoop: la herramienta de importación y exportación de datos de Hadoop para la transferencia de datos entre la plataforma Hadoop y las bases de datos relacionales.
  8. Flume: la herramienta de recopilación y agregación de datos de Hadoop para recopilar datos de múltiples fuentes en Hadoop para su procesamiento.
  9. Spark: aunque Spark no forma parte de Hadoop, está estrechamente integrado con el ecosistema de Hadoop. Spark proporciona capacidades de procesamiento y análisis de datos más rápidas, con funciones como procesamiento por lotes, procesamiento de flujo, aprendizaje automático y computación gráfica.
  10. Zeppelin: la herramienta de visualización y análisis de datos de Hadoop, que agrega almacenamiento de datos, consulta, análisis, visualización y otras funciones en un cuaderno interactivo.

Comparemos brevemente las diferencias de cada pila de tecnología en estos 9 tipos de tecnologías.

1. Marco técnico de recopilación de datos

La premisa del análisis de datos es recopilar datos primero, por lo que la recopilación de datos es la base de los grandes datos.

El marco técnico para la recopilación de datos es el siguiente: 

1.1  Flume, Logstash y FileBeat se usan comúnmente para el monitoreo y la recopilación de datos de registro en tiempo real

Flume, logstash, fileBeat comparación
elemento de comparación Canal artificial almacenamiento de registros Filebeat
fuente apache Elástico Elástico
lenguaje de desarrollo Java jruby ir
consumo de memoria alto alto Bajo
Consumo de CPU alto alto Bajo
Tolerancia a fallos Alto, Mecanismo de Asuntos Internos cola persistente interna alta ninguno
balanceo de carga apoyo apoyo apoyo
enchufar Complementos de entrada y salida enriquecidos Complementos de entrada y salida enriquecidos Solo admite la recopilación de datos de archivos
filtrado de datos proporcionar interceptor Gran capacidad de filtrado débil capacidad de filtrado
desarrollo secundario fácil para los programadores de java Desastre Desastre

1.2  Sqoop y Datax se usan comúnmente para la recopilación de datos fuera de línea de bases de datos relacionales

Sqoop, Datos X
elemento de comparación Sqoop DatosX
fuente apache Ali
lenguaje de desarrollo Java Java
modo operativo Mapa reducido         proceso único multiproceso
repartido apoyo no apoyo
eficacia alto medio
tipo de fuente de datos Solo admite bases de datos relacionales y sistemas de almacenamiento relacionados con Hadoop Admite más de 20 tipos
Escalabilidad generalmente alto

1.3  Cannal y Maxwell se utilizan a menudo para la adquisición de datos en tiempo real de bases de datos relacionales

Canal, Maxwell
elemento de comparación canal Maxwell
fuente Ali zendesk
lenguaje de desarrollo Java Java
Formato de datos gratis        formato json
JA apoyo no apoyo
oreja no apoyo apoyo
Dividir apoyo apoyo
lectura aleatoria apoyo apoyo

2. Marco técnico de almacenamiento de datos

El marco de tecnología de almacenamiento de datos incluye HDFS, HBase, Kudu, Kafka, etc.

  • HDFS: resuelve el problema del almacenamiento masivo de datos, pero no admite la modificación de datos
  • HBase: es una base de datos NoSQL distribuida basada en HDFS, que puede utilizar la capacidad de almacenamiento de datos masivos de HDFS y admitir operaciones de modificación.
  • Kudu: un componente técnico entre HDFS y HBase, que admite la modificación de datos y el análisis de datos basado en SQL. Por lo tanto, su posicionamiento es bastante vergonzoso, es una solución de compromiso y su aplicación práctica es limitada.
  • Kafka: se usa comúnmente como un almacenamiento de búfer temporal de datos masivos, proporcionando capacidades de lectura y escritura de alto rendimiento al mundo exterior.

3. Marco de gestión de recursos distribuidos

Los recursos del servidor empresarial (memoria, CPU, etc.) son limitados y fijos. Sin embargo, los escenarios de aplicación del servidor son flexibles y cambiantes.Con el advenimiento de la era de los grandes datos, la demanda de tareas temporales ha aumentado considerablemente, y estas tareas a menudo requieren una gran cantidad de recursos del servidor. Por lo tanto, la asignación de los recursos del servidor y la participación accionaria dependen completamente de la conexión manual del personal de operación y mantenimiento, que requiere demasiado tiempo y mano de obra. Por lo tanto, se requiere un sistema de gestión de recursos distribuidos, y los comunes son YARN, Kubernetes y Mesos. 

  • Principales aplicaciones y campos de big data de YARN
  • Aplicaciones principales de Kubernetes y campos de computación en la nube
  • Aplicación principal de Mesos y campo de computación en la nube

4. Marco de tecnología de computación de datos

El cálculo de datos se divide en cálculo de datos fuera de línea y cálculo de datos en tiempo real

4.1 Cálculo de datos fuera de línea

  • MapReduce, la primera generación de motor de computación de datos fuera de línea en la industria de big data, se utiliza principalmente para resolver la computación paralela distribuida de conjuntos de datos a gran escala. Abstrae la lógica de cálculo en dos etapas de mapa y reducción para su procesamiento.
  • El motor informático Tez rara vez se usa en el ecosistema de big data
  • La característica más importante de Spark es la computación en memoria. Los resultados intermedios de la fase de ejecución de tareas se almacenan en la memoria y no hay necesidad de leer y escribir discos, lo que mejora el rendimiento informático de los datos. Y Spark proporciona muchas funciones de orden superior, que pueden realizar cálculos iterativos de varias lógicas complejas, y es adecuado para el cálculo rápido y complejo de datos masivos.

4.2 Cálculo de datos en tiempo real

  • Storm aplica y realiza principalmente computación distribuida de datos en tiempo real, adecuada para proyectos pequeños e independientes en tiempo real
  • Flink es una nueva generación de motor de cómputo distribuido de datos en tiempo real, con mejor desempeño de cómputo y ecosistema que Storm, alto rendimiento y baja latencia.
  • El componente SparkStreaming de Spark también puede proporcionar computación distribuida de datos en tiempo real de segundo nivel.
tormenta, SparkStreaming, Flink
artículo de comparación tormenta SparkStreaming Considerable
modelo computacional Nativo Micro-lote Nativo
tipo de API Modular         Declarativo Declarativo
nivel semántico Al menos una vez         Exactamente una vez Exactamente una vez
mecanismo de tolerancia a fallas reconocer Control control
administración del Estado ninguno tener tener

5. Marco técnico de análisis de datos

Marco técnico de análisis de datos que incluye Hive, Impala, Kylin, Clickhouse, Druid, Drois, etc.

Hive, Impala y Kylin pertenecen a motores de análisis de datos OLAP fuera de línea:

  • La eficiencia de ejecución de Hive es promedio, pero su estabilidad es extremadamente alta
  • Impala puede proporcionar una alta eficiencia de ejecución basada en la memoria, pero la estabilidad es promedio
  • Kylin puede proporcionar una respuesta de nivel de ms de datos de nivel de PB mediante precálculo
Colmena, Impala, Kylin
artículo de comparación Colmena Impala Kylin
motor de computación Mapa reducido aplicación de desarrollo propio MapaReduce/Spark
rendimiento informático medio alto alto
estabilidad alto Bajo alto
tamaño de datos nivel de tuberculosis nivel de tuberculosis TB, nivel de PB
Compatibilidad con SQL

HQL

Compatible con HQL SQL estándar

Clickhouse, Druid, Doris son motores de análisis de datos OLAP en tiempo real:

  • Druid admite alta simultaneidad, la compatibilidad con SQL es limitada y la madurez actual es relativamente alta
  • Clickhouse tiene capacidades de concurrencia limitadas y admite SQL no estándar. Actualmente alta madurez
  • Doris admite alta concurrencia, admite SQL estándar y aún se encuentra en la etapa de desarrollo rápido
Druida, ClickHouse, Doris
artículo de comparación druida ClickHouse doris
rendimiento de consultas alto alto alto
alta concurrencia alto Bajo alto
inserción de datos en tiempo real apoyo apoyo apoyo
actualización de datos en tiempo real no apoyo débil medio
unirse a la operación limitado limitado apoyo
Compatibilidad con SQL limitado SQL no estándar mejor
Madurez alto alto medio
Complejidad de operación y mantenimiento medio alto Bajo

6. Marco técnico de programación de tareas:

El marco técnico de programación de tareas incluye Azkaban, ooiz, DolPhinScheduler, etc. Es principalmente adecuado para la ejecución de tareas programadas ordinarias y la programación de tareas de varios niveles con dependencias complejas. Admite distribución y garantiza el rendimiento y la estabilidad del sistema de programación.

Azkaban, ooiz, DolphinScheduler
artículo de comparación En Azka Ewe DolphinScheduler
tipo de tarea Shell scripts y tareas de big data Shell scripts y tareas de big data Shell scripts y tareas de big data
configuración de tareas Configuración de sintaxis DSL personalizada Configuración de archivos XML Configuración de arrastrar y soltar de página
pausa de tarea no apoyo apoyo apoyo
Alta disponibilidad (HA) Apoyado por DB Apoyado por DB Soporte (multi-maestro multi-trabajador)
multiusuario no apoyo no apoyo apoyo
alerta de correo apoyo apoyo apoyo
control de acceso Grano grueso Grano grueso de grano fino
Madurez alto alto medio
facilidad de uso alto medio alto
Empresa filial LinkedIn Nubeeara Análisis de China

7. El marco técnico subyacente de big data

El marco técnico subyacente de los grandes datos solo se refiere al cuidador del zoológico.

La operación de hadoop, HBase, Kafka y otros componentes técnicos en el ecosistema de big data utilizará zookeeper, que proporciona principalmente funciones básicas, tales como: espacio de nombres, servicios de configuración, etc.

8. Marco técnico de recuperación de datos

La tecnología principal para la recuperación de datos es Elasticsearch, y otras tecnologías incluyen Lucene y Solr.

Lucene、Solr、ES
elemento de comparación Lucena Solr Elasticsearch
facilidad de uso Bajo alto alto
Escalabilidad Bajo medio alto
estabilidad medio alto alto
Dificultad de operación y mantenimiento del clúster Los clústeres no son compatibles alto Bajo
Integración de proyectos alto Bajo Bajo
Actividad comunitaria medio medio alto

9. Marco de gestión de instalación de clúster de big data

Si una empresa quiere pasar del procesamiento de datos tradicional al procesamiento de big data, lo primero que debe hacer es construir una plataforma de big data estable y confiable. Una plataforma completa de big data incluye recopilación de datos, almacenamiento de datos, computación de datos, análisis de datos, monitoreo de clústeres, etc. Estos componentes deben implementarse en cientos o incluso miles de máquinas. Si confía completamente en el personal de operación y mantenimiento para realizar un seguimiento de la instalación, la carga de trabajo será demasiado grande y habrá problemas de coincidencia de versiones entre las diversas pilas de tecnología. 

En base a los problemas anteriores, nació la herramienta de gestión de instalación de clústeres de big data. Actualmente, los más comunes incluyen CDH, HDP y CDP, que encapsulan componentes de big data y proporcionan una plataforma de big data integrada que puede instalar rápidamente componentes de big data.

  • HDP, el nombre completo de Hortonworks Data Platform, está encapsulado en base a Hadoop, proporciona instalación y gestión basadas en interfaz con la ayuda de la herramienta Ambari e integra componentes comunes de big data, que pueden proporcionar una gestión de clústeres integral. Es completamente de código abierto y gratuito, sin servicios comerciales, pero ha dejado de actualizarse desde la versión 3.x.
  • CDH significa Distribución de Cloudera, incluido Apache Hadoop. Con la ayuda de la herramienta Cloudera Manager para proporcionar una instalación y gestión basadas en la interfaz, e integrar la mayoría de los componentes de big data, puede proporcionar una gestión de clústeres integral. Es una plataforma comercial de big data de pago y dejará de actualizarse después de la versión 6.x.
  • CDP, Cloudera Data Center y CDH provienen de la misma empresa y su número de versión continúa con el número de versión del CDH anterior. A partir de 7.0, CDP es compatible con Private Cloud (nube privada) y Hybrid Cloud (nube híbrida). CDP integra los componentes relativamente buenos de HDP y CDH, y agrega algunos componentes nuevos.

El artículo se reimprime de, con algunas modificaciones y adiciones:  Un artículo para comprender el sistema de conocimiento completo del ecosistema de big data

Supongo que te gusta

Origin blog.csdn.net/zhoushimiao1990/article/details/131213442
Recomendado
Clasificación