Introducción a Cloudera y componentes

Última actualización: 20/07/2020

En esta entrada repasamos los aspectos clave de Cloudera y las tecnologías que componen la distribución de Hadoop más popular para Big Data.

Cloudera Big Data

Aspectos clave de Cloudera

Cloudera es la empresa de software responsable de la distribución de Big Data basada en Apache Hadoop más extendida. La plataforma integra varias tecnologías y herramientas para crear y explotar Data Lakes, Data Warehousing, Machine Learning y Analítica de datos.

Fue fundada en el año 2008 en California por ingenieros de Google, Yahoo y Facebook, haciendo disponible de esta forma una plataforma que incluía Apache Hadoop.

En el año 2019, las empresas Cloudera y Hortonworks, líderes en el sector del Big Data, se fusionan para convertirse en una compañía con el objetivo de proporcionar una arquitectura del dato moderna y basada en cloud.

Cloudera logo

Gran parte de los desarrollos de Cloudera han sido publicados como software open source con aportaciones a la comunidad, principalmente a la Apache Software Foundation. Uno de los proyectos más populares donados a la fundación por Cloudera es Apache Impala, un motor de consultas SQL para Hadoop.

En el año 2019, Cloudera presentó la nueva plataforma CDP (Cloudera Data Platform), con mejoras respecto a las versiones anteriores y compatibilidad extendida con entornos cloud.

Cloudera CDH

CDH (Cloudera’s Distribution including Apache Hadoop) es la distribución de Cloudera con Apache Hadoop orientada a empresas. Actualmente se encuentra en la versión Cloudera 6 (CDH 6). Está disponible como paquetes RPM y paquetes para Debian, Ubuntu o Suse. Cloudera proporciona CDH en varias modalidades:

La versión más completa y empresarial es Cloudera Enterprise, que incluye suscripciones por cada nodo del clúster, Cloudera Manager y el soporte técnico. Por otro lado, Cloudera Express es una versión más sencilla, sin actualizaciones o herramientas de disaster recovery. Por último, existe una versión gratuita de CDH: Cloudera Community. Permite desplegar un clúster con un número de nodos limitado.

Es posible ejecutar Cloudera desde un contenedor Docker. Proporciona una imagen Docker con CDH y Cloudera Manager que sirve como entorno para aprender Hadoop y su ecosistema de una forma sencilla y sin necesidad de Hardware potente. También es util para desarrollar aplicaciones o probar funcionalidades.

Cloudera CDP

En el año 2019, Cloudera presenta la nueva plataforma CDP (Cloudera Data Platform), con mejoras respecto a las versiones anteriores y compatibilidad extendida con entornos cloud como Azure, AWS y próximamente Google.

CDP se ha construido como un Enterprise Data Cloud (EDC) o Cloud de datos empresarial. Este conjunto de tecnologías alrededor de Hadoop permiten implementar multitud de casos de uso sobre la misma plataforma.

CDP puede desplegarse on premises, de forma híbrida y multi-cloud sin perder de vista la seguridad y el gobierno de los datos (governance) para cumplir con las normas regulatorias. Todos los despliegues en los diferentes entornos se realizan y gestionan desde un panel de control centralizado. Esto aplica en despliegues sobre infraestructura on-premises (CDP Data Center), en cloud privada y pública.

Además, CDP permite desagregar el almacenamiento del cómputo mediante el uso de contenedores y Apache Hadoop Ozone, un almacenamiento de objetos distribuido para alcanzar mayor escalabilidad.

Cloudera Data Warehouse (CDW) en Cloudera Data Platform (CDP) es el servicio que permite crear Data Warehouses para su explotación por analistas de datos y Business Intelligence (BI). Es posible compartir determinados datos con los equipos que los necesiten.

En CDP desaparecen las tecnologías Pig, Cruch, Sqoop y Flume y deberían reemplazarse con las Tecnologías Spark, Flink y NiFi. Además Apache Sentry se reemplaza por Apache Ranger y Cloudera Navigator por Apache Atlas.

Cloudera CDF

CDF o Cloudera Data Flow compone la parte de CDP enfocada al streaming de datos en tiempo real. Es la evolución de la anterior distribución Hortonworks DataFlow (HDF). Contiene las piezas de software necesarias para realizar la ingesta, las transformaciones y la analítica sobre flujos de datos.

Todas las piezas de CDF están integradas con Apache Atlas para gestionar el linaje del dato y con Apache Ranger como herramienta de auditoría y autorización centralizada. La distribución se divide en varios módulos que incluyen varias soluciones. Dependerá del caso de uso la elección de la solución que mejor se adapte.

Cloudera CDF Cloudera Data Flow Componentes
CDF Cloudera Data Flow – Componentes

CDF resulta útil en múltiples casos de uso:

  • Movimiento de datos entre diferentes data centers o hacia infraestructura cloud
  • Recolección y analítica de logs de diversas fuentes de datos
  • Analítica en streaming en búsqueda de patrones o modelos de inteligencia artificial
  • Ingesta y transformación de datos de clientes de fuentes de datos
  • Procesamiento en streaming y de tiempo real
  • Captura e ingesta de datos de sensores e IoT para su análisis posterior

Las herramientas incluidas en CDF más importantes son:

  • MiNiFi + NiFi para recolección e ingesta de datos.
  • Apache Kafka para procesamiento de Streaming, además incluye:
    • Schema Registry: Gestión centralizada y versionado de esquemas
    • Streams Messaging Manager (SMM): Monitorización y gestión
    • Streams Replication Manager (SRM): Motor de replicación (MirrorMaker2)
  • Kafka Streams, Apache Flink y Spark Streaming para analítica.

Componentes de Cloudera

Cloudera integra en su distribución varias herramientas, que se pueden desplegar o no en función de las necesidades del cliente. Actualmente contiene más de 50 componentes open source. A continuación, se presentan algunas de las más comunes:

Tecnologías propietarias

Cloudera Manager es la aplicación responsable de la gestión de clusters Big Data. Se encarga de instalar y controlar los servicios activos y actúa como herramienta de administración para los operadores y administradores de CDH.

Cloudera Navigator es la pieza encargada del Data Governance que complementa Cloudera Manager. Se integra con las tecnologías de Apache Hadoop y permite monitorizar y auditar los accesos y establecer las políticas de acceso a los datos y a los recursos del clúster. Además, también es posible visualizar el linaje de los datos y consultar los metadatos

El servicio de Cloudera para desplegar de forma programática y automatizada clústers se llama Cloudera Director. Permite gestionar, desplegar y escalar entornos cloud a través de cloudera manager y el proveedor de cloud. También, Altus proporciona la capacidad de automatizar cargas de trabajo en la nube, para poder desplegar un sistema híbrido.

Otra pieza central es el Cloudera Workbench o Cloudera Data Science Workbench (CDSW). Es una plataforma colaborativa que permite desarrollar y desplegar trabajos de tipo Data Science y Machine Learning con R, Python o Scala en un entorno personalizable y adecuado a estas necesidades.

Tecnologías Open Source

Los componentes Open Source de la distribución CDH están integrados alrededor del core de Apache Hadoop como tecnología de procesamiento y de almacenamiento distribuido. Entre ellos se encuentran tecnologías clave del ecosistema Hadoop. Todo el clúster de Cloudera se puede securizar a través de Kerberos.

Apache Hue

Hue (Hadoop User Experience)

Hue es la interfaz web para la gestión de Hadoop. Permite crear tablas en Hive, realizar consultas, navegar el sistema de ficheros, cambiar permisos y propietarios.

También puede diseñar jobs de MapReduce y conocer su estado. Además permite realizar la gestión por parte de los administradores de las cuentas de usuario.

Apache Sqoop

Apache Sqoop (SQL to Hadoop)

Es una herramienta diseñada para transferir datos entre Hadoop y bases de datos relacionales. Al igual que Flume, es una herramienta de ingesta de datos para Hadoop, aunque Sqoop se caracteriza por poder importar y exportar datos estructurados.

Permite importar tablas individuales o bases de datos enteras a HDFS de una manera sencilla y eficiente. Con Sqoop, también es posible importar datos desde bases de datos relacionales directamente a tablas Hive. Cuando ejecutamos un comando en Sqoop, la tarea se divide en subtareas, que realizan la operación Map de forma distribuida y paralela.

Apache Flume

Apache Flume

Apache Flume es una solución Java distribuida de alta disponibilidad para recolectar, agregar y mover grandes cantidades de datos no estructurados y semi-estructurados desde diferentes fuentes a un data store centralizado. Es la herramienta de ingesta en el ecosistema Hadoop.

Esta tecnología surge de la necesidad de subir datos de aplicaciones a HDFS. Pueden ser datos generados en streaming y tiempo real como logs, tráfico de red, etc. Cada agente de flume está compuesto por tres piezas: Source (Fuente), Channel (Canal) y Sink (Sumidero). Es extremadamente flexible y tiene numerosos conectores.

Apache Zookeeper

Apache Zookeeper

Servicio centralizado que permite mantener conexiones estables entre servidores con distintas tecnologías. Actúa de coordinador de servicios big data y trabajos Hadoop. Zookeeper se usa principalmente para mantener aplicaciones distribuidas funcionando de forma correcta. También gestiona algunas configuraciones y permite el consenso en los sistemas.

Provee una interfaz simple para mantener la consistencia de datos.

Apache Pig

Apache Pig

Pig es la plataforma de scripting para Hadoop, originalmente desarrollada en Yahoo. Proporciona la base para implementar flujos de datos, ETLs y procesamiento distribuido. Tiene dos componentes: Pig Latin y Pig Runtime, el entorno de ejecución.

Provee de un lenguaje de alto nivel llamado Pig Latin para crear flujos de datos que permite escribir programas MapReduce de forma simple y en pocas líneas de código, con una sintaxis similar a SQL. El compilador interno se encarga de convertir Pig Latin en una secuencia de programas MapReduce.

Apache Hive

Apache Hive

Hive Permite realizar consultas sobre los datos almacenados en HDFS mediante el lenguaje HQL (Hive Query Language), muy similar a SQL. Compone la base de un Data Warehouse con gran escalabilidad.

Apache Impala logo

Apache Impala

Impala es un motor de consultas SQL para Hadoop inicialmente desarrollado por Cloudera. Permite realizar consultas interactivas de baja latencia sobre datos almacenados en HDFS sin la necesidad de movimiento de datos. Es muy usada en consultas analíticas y Business Intelligence.

Apache Mahout

Apache Mahout

Mahout proporciona el entorno para crear aplicaciones escalables de Machine Learning. Se compone de librerías específicas escritas en Java y optimizadas para funcionar sobre Hadoop. Entre sus funcionalidades, se incluyen el filtrado colaborativo, clustering y clasificación.

Apache Oozie

Apache Oozie

Oozie es el planificador de workflows para administrar trabajos de Hadoop. Gestiona los trabajos y permite tratarlos como una sola unidad lógica. Permite agregar dos tipos de trabajos: workflow y coordinator. Los trabajos de tipo workflow se componen de una secuencia de acciones que deben ser ejecutadas en serie. Los trabajos Oozie coordinator son ejecutados cuando se cumple la condición de que los datos necesarios para la tarea estén disponibles.

Apache HBase

Apache HBase

Es una base de datos no relacional, columnar y distribuida creada sobre el sistema de ficheros de Hadoop (HDFS) que puede escalar horizontalmente.

HBase utiliza un modelo de datos muy similar al de Google Big Table diseñado para proporcionar acceso aleatorio a una gran cantidad de datos estructurados. Tiene un modelo tolerante a fallos para almacenar columnas dispersas, muy comunes en big data. Está escrito en Java.

hadoop yarn

Hadoop YARN

La función de Yarn en Hadoop es la de proporcionar un entorno que gestione los recursos para realizar trabajos de computación.

Yarn distribuye el trabajo teniendo en cuenta dónde se encuentras los datos a procesar del clúster. Además, Yarn también gestiona las ejecuciones de los programas y los recursos disponibles.

hadoop hdfs

HDFS (Hadoop Distributed File System)

Es el sistema de ficheros distribuido de Hadoop, optimizado para almacenar grandes cantidades de datos y mantener varias copias para garantizar la disponibilidad.

En HDFS, los ficheros son divididos en bloques de un mismo tamaño (128 MB) y distribuidos en los nodos que forman el clúster.

Apache Sentry logo

Apache Sentry

Es la pieza del ecosistema que se encarga de aplicar las políticas de autorización sobre los componentes del clúster y sobre los datos y metadatos de Hadoop. Permite controlar los privilegios de cada usuario y aplicación del sistema que usan los componentes de Hadoop de forma modular.


Preguntas frecuentes: Cloudera – FAQ

¿Qué es Cloudera?

Cloudera es la empresa de software responsable de la distribución de Hadoop con el mismo nombre. Su plataforma de Big Data se centra en proporcionar herramientas de Data Warehousing, Machine Learning y Analítica.

¿Qué es Cloudera CDH y CDP?

CDH (Cloudera’s Distribution including Apache Hadoop) es la distribución de Cloudera con Apache Hadoop para empresas. Su función es integrar las distintas piezas de software del ecosistema Hadoop. CDP (Cloudera Data Platform) es la evolución de CDH, integrando Cloudera y Hortonworks como una plataforma del dato híbrida en la nube con funcionalidades adicionales.

¿Cuáles son las alternativas a Cloudera?

Las distribuciones de Hadoop alternativas a Cloudera son Hortonwors (la empresa se ha unido con Cloudera dando lugar a CDP) y MapR. También existen alternativas para cargas Big Data como Databricks y servicios gestionados en la nube de Amazon o Azure.

¿Cuánto cuesta Cloudera?

Cloudera ofrece una versión gratuita de CDH hasta un número de nodos. Para despliegues mayores se debe mantener una suscripción, que incluye el soporte empresarial por parte de Cloudera así como servicios adicionales.


A continuación, el vídeo-resumen. ¡No te lo pierdas!


¡Echa un ojo a mi lista de reproducción de Big Data en Youtube!

Si te ayuda el contenido del blog, por favor considera unirte a la lista de correo para reconocer el trabajo!

Deja una respuesta