Cloudera, MapR, Hortonworks...¿Qué distribución Hadoop necesitas? (IV y fin)

Tuesday, October 10, 2017

Cloudera, MapR, Hortonworks...¿Qué distribución Hadoop necesitas? (IV y fin)

En este último post de esta serie sobre Hadoop, hablaremos de las distribuciones comerciales líderes en el mercado y cómo elegir cuál es la que más nos interesa.

Aunque Hadoop no ha cumplido todavía su primera década en el mundo empresarial, sus expectativas para el futuro son de lo más prometedoras. Forrester, en su informe “The Forrester Wave™: Big Data Hadoop Distributions, Q1 2016” estima que, en los próximos dos años, el 100% de las grandes empresas adoptarán Hadoop y otras tecnologías relacionadas, como Spark, para sus analíticas Big Data. Por tanto, la cuestión no va a ser tanto preguntarse:

¿Hadoop o no Hadoop?
Sino:

 ¿Qué distribución de Hadoop me conviene más?


¿Por qué hay distintas distribuciones?


Al desarrollarse como proyectos independientes, es fácil encontrarse con problemas de compatibilidad entre versiones de distintos componentes. Siguiendo la senda abierta por RedHat en el caso de Linux, otras compañías han encontrado la forma de comercializar productos basados en desarrollo de software opensource, en este caso, con Hadoop. Así, han “empaquetado” composiciones estables de estos componentes, creando sus propias distribuciones de Hadoop. Añaden a ésta otros componentes “de su cosecha” y servicios de soporte como “valor añadido” y ya tienen el pack completo. Ejemplos de estos componentes propietarios pueden ser, Impala propio de la distribución de Cloudera, y Tez de Hortonworks.

¿Y cuáles son estas distribuciones?.


Los líderes en este mercado son Cloudera, MapR Technologies, IBM, y Hortonworks. Vamos a conocerlas un poco y después veremos qué tipo de criterios nos serán útiles para elegir entre una u otra.
Cloudera :
Cloudera fue la primera distribución Hadoop del mercado. Su chief architect es el propio Dough Cutting, uno de los creadores de Hadoop. Por ello su ritmo de innovación es vertiginoso. Su producto “Cloudera Enterprise” está formado por su propia distribución de Hadoop (CDH), un “Cloudera Manager” propietario y soporte de usuario para los componentes core de CDH.


Logo Cloudera.
Figura 1: Logo Cloudera.

Cloudera fue la primera empresa que, ya en 2013, anunció su estrategia diferenciadora basada en crear componentes propietarios de valor añadido sobre el Hadoop opensource, como Impala, que junto con otras herramientas add-on como Cloudera Manager y Cloudera Navigator son muy valoradas por los clientes.

También se caracteriza por acelerar la introducción del código opensource de nivel alfa o beta de las versiones más recientes de Hadoop y por su política de adquisiciones o colaboraciones con otras empresas que permitan cubrir las carencias en seguridad, gestión de datos y analíticas.

Cloudera también ofrece un completo (aunque caro) programa de formación y certificación de profesionales.

https://www.cloudera.com/products/open-source/apache-hadoop.html
Figura 2: Ecosistema Hadoop Cloudera.(haz click para ampliar)

MapR Technologies:
Mapr pone el foco en ofrecer el máximo rendimiento y tolerancia a fallos, aprovechando el potencial de Hadoop para trabajar a gran escala, con el menor esfuerzo. Es el distribuidor de Hadoop que mayor esfuerzo ha hecho en hacer fiables y eficientes las mayores implementaciones de clusters Hadoop. Para ello ha desarrollado su propio sistema de ficheros nativo en Unix. Por tanto, mientras Cloudera y Hortonworks distribuyen los metadatos y procesamiento en los DataNodes y NameNodes propios de HDFS, MapR tiene una arquitectura distinta, con un enfoque más distribuido que se traduce en mejores rendimientos. También se diferencia de sus competidores por sus características de alta disponibilidad (snapshots, mirroring, statefulfailover) e incluye el proyecto Apache Drill, basado en Google Dremel, para ofrecer procesamiento en tiempo real.

 Logo MAPR.
Figura 3: Logo MAPR.

https://mapr.com/products/mapr-ecosystem-pack/
Figura 4: Ecosistema Hadoop MapR.(haz click para ampliar)

HortonWorks:  
La filosofía de HortonWorks esta más cercana al modelo de innovación opensource. Toda la tecnología de la distribución HortonWorks es Apache open source 100%. Está tan comprometida con este modelo, que incluso cuando adquiere alguna empresa para rellenar algún “gap” no cubierto por el core de Hadoop, aporta el código al proyecto Apache en beneficio de la comunidad, como hizo cuando adquirió XA secure, que pasó a convertirse en Apache Ranger.

Fue el primer vendor en usar la funcionalidad HCatalog para los servicios de metadatos y logró optimizar el proyecto Hive, el estándar de facto para las queries SQL interactivas, con la iniciativa Stinger.

Logo Hortonworks.
Figura 5: Logo Hortonworks.

Hortonworks ofrece una práctica herramienta de gestión y administración del cluster, Apache Ambari cuya funcionalidad es similar al Cloudera Manager, pero tiene ventaja de ser un software no propietario.

Otra de las ventajas de esta distribución es una sencilla y práctica “sand-box”, para aprender a manejar el entorno, así como numerosos y tutoriales online.

Pero la mayor diferencia entre Hortonworks y sus competidores fue el desarrollo de importantes mejoras en el core trunk de Hadoop que permiten que se ejecute de forma nativa en plataformas Windows, tanto en servidores onpremise, como en la nube (Windows Azure), mientras que sus competidores trabajan únicamente sobre Linux.


https://hortonworks.com/ecosystems/
Figura 6: Ecosistema Hadoop HortonWorks (haz click para ampliar)

  
Todas estas distribuciones pueden usarse de forma independiente, o en combinación con una Big Data Suite. Las distribuciones Hadoop te ofrecen un práctico “empaquetado” , herramientas y soporte. Pero aún así pueden requerir un gran esfuerzo en codificación de jobs en MapReduce o integración de las diferentes fuentes de datos en Hadoop. Aquí es donde entran las “Big Data Suites”, aportando ventajas en modelado, generación de código, programación de jobs e integración de distintas fuentes de datos.

Las Big Data Suites pueden ser de código abierto, como Talend o Pentaho, o propietarias. La mayoría de los grandes fabricantes de software, como IBM, Oracle o Microsoft, integran suites de Big Data en su portfolio de software. Es importante asegurarse de la compatibilidad entre la Big Data Suite y la distribución con la que estamos trabajando. Algunas distribuciones son más “flexibles” que otras en cuanto a compatibilidad.


¿Qué preguntas tenemos que hacernos a la hora de elegir?


A la hora de elegir qué distribución instalar, conviene hacerse una serie de preguntas.

  • ¿Qué problema de negocio quieres resolver?.
  • ¿Qué tipo de datos tienes que analizar?.
  • ¿Componentes opensource o software propietario?.
  • La infraestructura Hadoop que estás considerando, es lo suficientemente flexible para tus distintos casos de uso?.
  • ¿Qué herramientas ya existentes quieres integrar con Hadoop?.
  • ¿Necesitan tus administradores herramientas de gestión? (la distribución core de Hadoop no las incluye).
  • ¿Necesitas recursos de formación? ¿Cómo de compleja es la instalación?.
  • ¿Necesitas soporte?.
  • ¿Puedes tener problemas de vendor lock-in? (como código no transferible a otras distribuciones o formatos de datos propietarios).

Lo mejor, para poder comparar, es crear una tabla que reúna las especificaciones concretas de las distribuciones que estás considerando, priorizando las que son más importantes para tu negocio.

Por ejemplo, si tienes instalaciones mixtas, con sistemas operativos UNIX y Microsoft, la opción a elegir será Hortonworks. Si necesitas un cluster muy optimizado para funcionar en tiempo real, investiga MapR. Si necesitas un potente motor de consultas SQL, puede interesante Cloudera, por la potencia de Impala…

Como ya comentamos en el primer post de esta serie, nosotros en  LUCA elegimos HortonWorks para ofrecer Big Data as a service en España.

Sólo hemos visto las distribuciones más importantes, pero no las únicas. Lo principal es hacerse una idea del tipo de cuestiones que debemos valorar a la hora de elegir.

Con este post cerramos la serie sobre Hadoop. Puedes consultar los post anteriores aquí:

No comments:

Post a Comment