Mostrando entradas con la etiqueta Hortonworks. Mostrar todas las entradas
Mostrando entradas con la etiqueta Hortonworks. Mostrar todas las entradas

19 febrero 2018

No hay mejor andar que no parar, HADOOP 3.0

Aprovechando la jornada de trabajo con Felipe Haynes y Raú Marín de Hortonworks y  David Olmos y Gustavo Fernández de Zylk. Os dejamos un pequeño articulo sobre la nueva versión de Hadoop 3.0 .
Recordar que Zylk y Hortonworks realizan el próximo 15 de marzo en el Hotel NH Collection Villa de Bilbao un evento con conferencias, networking y casos de éxito de la utilización del Big Data 




Principales diferencias entre  HADOOP 2.0 y 3.0 :

CARACTERÍSTICA
HADOOP 2.x
HADOOP 3.x
Versión Java mínima soportada
java 7
java 8
Esquema de almacenamiento
Usa un esquema de replica que multiplica x3 el espacio de almacenamiento.
Soporta erasure coding(1) en HDFS reduciendo el espacio de almacenamiento.
Tolerancia a fallos
Puede manejarse mediante la replicación (que es un desperdicio de espacio).
Puede manejarse mediante erasure coding ofreciendo el mismo nivel de tolerancia a fallos pero con una considerable reducción de espacio de almacenamiento.
Storage Overhead
(Sobrecarga del espacio de almacenamiento)
HDFS tiene una sobrecarga del 200% en el espacio de almacenamiento, ya que hace copias al 100% de los datos (el factor de réplica mínimo y por defecto en Hadoop 2 es de 3) los cuáles, en la mayoría de las ocasiones, no son usados . Por ejemplo: Si hay 6 bloques, habrá 18 bloques ocupados debido al esquema de replicación.
Con el  erasure coding   en Hadoop 3, si hay 6 bloques de datos, ocupará un espacio de 9 bloques - 6 bloques de datos y 3 para la paridad - lo que conlleva una menor sobrecarga de almacenamiento. El resultado final: en lugar de necesitar multiplicar por 3 el almacenamiento, el método de almacenamiento de erasure coding tendrá una sobrecarga de 1.5x, manteniendo el mismo nivel de recuperación de datos. Reduce a la mitad el costo de almacenamiento de HDFS a la vez que conserva la durabilidad de los datos. La sobrecarga de almacenamiento se puede reducir de 200% a 50%. Además, se beneficia de un ahorro de costes en infraestructuras.
YARN Timeline Service
Utiliza un viejo timeline service que tiene problemas de escalabilidad.
Mejora el timeline service v2 y mejora la escalabilidad y la confiabilidad del mismo.
Rango de puertos por defecto
En Hadoop 2.0, algunos puertos predeterminados son del rango de puertos efímeros(2) de Linux (32768-61000). Por lo tanto, en el momento de la puesta en marcha, pueden  fallar al conectarse al entrar en conflicto con otras aplicaciones.
En Hadoop 3.0 estos puertos se han movido fuera del rango efímero.
Sistemas de ficheros compatibles
  • HDFS (Sistema de ficheros por defecto)
  • Sistema de archivos FTP: almacena todos sus datos en servidores FTP accesibles remotamente
  • Sistema de archivos Amazon S3 (Simple Storage Service)
  • Sistema de archivos Windows Azure Storage Blobs (WASB).
Es compatible con todos los anteriores, así como con el sistema de archivos Microsoft Azure Data Lake y Aliyun Object Storage System .
Escalabilidad
  • Podemos escalar hasta 10,000 nodos por clúster.
  • Hadoop 2 y Hadoop 1 solo usan un único NameNode para administrar todos los Namespaces.
  • En Hadoop 2 hay  solamente un NameNode en standby
  • Se pueden escalar más de 10.000 nodos por cluster.
  • Hadoop 3 tiene múltiples Namenodes para múltiples Namespaces debido al uso de  NameNode Federation que mejora la escalabilidad.
  • Hadoop 3 soporta múltiples NameNodes en stanby.
Nuevos casos de uso
Hadoop 2 no soporta GPUs (Graphics Processing Unit)
Hadoop 3 permite la programación de recursos adicionales, tales como discos y tarjetas gráficas para una mejor integración. Por ejemplo, el administrador del clúster podría definir recursos como GPU, licencias de software o almacenamiento conectado localmente. Las tareas de YARN se pueden programar según la disponibilidad de estos recursos. Esta característica proporciona la base para admitir GPU en clústeres de Hadoop, lo que mejora un rendimiento de los cálculos necesarios para los casos de uso de Ciencia de datos e Inteligencia Artificial.
Nuevos componentes
El uso de Erasure Coding incluye nuevos componentes en la arquitectura:

  • Namenode Extension (ECManager): reside en el Namenode y coordina toda la tarea de codificación y decodificación.

  • Client Extension (ECClient):es la extensión del cliente HDFS que notifica al ECManager los bloques que faltan y lee los datos reconstruidos por el ECWorker.

  • Datanode Extension (ECWorker): ubicados en los Datanode. Cada vez que se decodifica o codifica un bloque, el ECWorker del Datanode lleva a cabo su cálculo siguiendo las instrucciones enviadas por el ECManager quién le suministra el esquema de codificación.

(1) La funcionalidad HDFS Erasure Coding usa RAID (Redundant Array of Inexpensive Disks). RAID implementa EC utilizando stripping, es decir, almacena los ficheros de manera lógica en forma de bloque (unidad pequeña) y almacena cada bloque en discos diferente. Para cada bloque (celda) se calculará y almacenará la paridad. Esto se llama codificación. Se almacena 1 bloque de paridad por cada 2 bloques de datos. Lo que implica tener un 50% de sobrecarga del espacio de almacenamiento frente al 200% que supone el antiguo replicado con factor 3 del 100% de los datos en Hadoop 2.

(2) Los puertos efímeros son puertos temporales asignados por la pila de IP de una máquina y se asignan dentro de un rango designado de puertos para este propósito. Cuando la conexión finaliza, el puerto efímero está disponible para su reutilización, aunque la mayoría de las pilas IP no reutilizarán ese número de puerto hasta que se haya utilizado todo el conjunto de puertos efímeros. Por lo tanto, si el programa cliente se vuelve a conectar, se le asignará un número de puerto efímero diferente para su lado de la nueva conexión.)


Para más información se puede consultar:


·        How Apache Hadoop 3 Adds Value Over Apache Hadoop 2

·        Apache Hadoop 3.0.0

·        Comparison Between Hadoop 2.x vs Hadoop 3.x 1

·        What’s New in Hadoop 3.0 – Enhancements in Apache Hadoop 3

·        What's new in hadoop 3.0

·        Getting to Know Hadoop 3.0 -Features and Enhancements. Why Hadoop 3.0? What’s New in Hadoop 3.0? Difference between Hadoop 2.x vs. Hadoop 3.x

·        Hadoop 3.0 - Revolution or evolution?



08 mayo 2017

Laboratorio de Analítica Avanzada de Datos - Big Data e inteligencia de negocio.

Dentro del ámbito del laboratorio de Big Data de Bilbomática, hoy os dejamos algunas de las áreas en las que nos encontramos trabajando:

Infraestructuras: Trabajando con clusters y con las configuraciones del servidor Ambari y la integración de NIFI y balanceo de carga con Nginx

SYSLOG:   de Syslog a NIFI y con persistencia en HBase,  Recopilación y Envió  de datos con MiNiFi y balanceo de carga como alternativa a Nginx, mensajería con Kafka, consumo de topics desde Flink y persistencia de datos en HBase desde Flink

HBASE: Trabajando con tablas HBase
desde el Shell y desde aplicaciones Java.

HIVE: desarrolo de Hive en cluster, la persistencia de datos en Hive y el desarrollo de aplicaciones Java para trabajar contra tablas de Hive mediante peticiones REST

Sin olvidarnos de Apache Zeppelin, de la que os dejamos una interesante entrada del Blog Dataminded Apache Zeppelin: Big data prototyping and visualization in no-time :

"Apache Zeppelin: Big data prototyping and visualization in no-time

Lately the name Zeppelin crossed our minds several times. Keeping in mind the daily release of a new big data tool and the mostly disappointing impression you get when diving into those tools, we silently ignored Zeppelin for the time being. After the ongoing encouragement of several colleagues we finally decided to take a look at Apache's latest flying machine: Can it make us fly?



What is Apache Zeppelin?



So what is Apache Zeppelin? Users of IPython notebooks are already familiar with the concept of an interactive web-based computational environment. Apache Zeppelin provides a web-based notebook that enables interactive data analytics. The main focus of Zeppelin strikes data ingestion, discovery, analytics, visualization and collaboration. Though IPython notebooks can also be used to provide data-analytics with Spark, they do not provide the out-of-the box data optimizations that are built into Zeppelin. 

.....

Conclusions

Apache Zeppelin certainly convinced us as a prototyping tool voor (big) data analysis. Besides the on-the-fly available Spark and SqlContext and the ability to mix and match between Scala and Python, the querying features with automatic visualizations are a great pro for instant data exploration. There are still some minor bugs but we believe Zeppelin could become a de facto standard for big data analysis in the near feature. We are certainly curious about your feedback regarding this blog and the tool, have fun with Zeppelin!




" Ofrecemos servicios en Business intelligence y Big Data que permiten alinear las estrategias de los clientes con las tecnologías que las implementan"

28 febrero 2017

Bilbomática pone en marcha su laboratorio de Analítica Avanzada de Datos - Big Data e inteligencia de negocio.

Hoy recogemos los primeros pasos de la unidad de Analítica Avanzada (Big Data e inteligencia de negocio), que hemos creado en Bilbomática.


Hemos puesto en marcha un  'laboratorio' de ideas y de diseño de estrategias  para dar soluciones de Analítica Avanzada para nuestros proyectos y clientes, con soporte en tecnologías Open Source, basados en el ecosistema Hadoop.

Entre los ámbitos en los que nos encontramos trabajando podemos destacar:

- Trabajamos la cadena de valor del dato, desde la extracción, la normalización (Parsing, Correcting, Standardizing, Matching and Consolidating ), la transformación, la integración y la actualización. Enriquecimiento del datos en base a repositorios open data y análisis del "dato oscuro".

Tecnologías de ingesta en tiempo real, orientados al almacenamiento distribuido y capacidad de proceso para la obtención de resultados Near/Real Time (NRT).

- Modelado de procesos Predictivos.  En los ámbitos de la calidad de datos, la estadística y los modelos de aprendizaje.

Dentro del ecosistema Software, el Laboratorio de Big Data  se encuentra trabajando con Hortonworks , distribución de Apache Hadoop, basada en una arquitectura centralizada (YARN).


La infraestructura inicial del laboratorio de Bilbomática se ha establecido inicialmente en 8 nodos con  una capacidad de proceso de 32 núcleos, 128 GB de memoria RAM  y capacidad de almacenamiento de 8 TB.









" Ofrecemos servicios en Business intelligence y Big Data que permiten alinear las estrategias de los clientes con las tecnologías que las implementan"

07 diciembre 2016

Big Data LibreCon 2016 - Zylk Industry 4.0 - Compartiendo la experiencia de proyectos de Big Data

Aprovechando la participación Iñigo Sánchez Méndez de Zylk Industry 4.0 en el Librecon 2016 , donde nos explica junto a Angel Barrio de Euskaltel cómo darle valor a los datos recogidos en tiempo real y apoyándose en herramientas open source. Os dejamos la ponencia "Inteligencia del dato aplicada al negocio de las telecomunicaciones" :





Hemos aprovechado para realizar una entrevista a Gustavo Fernandez  Director Técnico en zylk.net :

En los proyectos de Big Data que has participado, que aspecto reseñarías como importante en el ámbito organizativo (implicación del cliente, infraestructuras, visión tecnológica a medio plazo,...)

Es necesario disponer de un caso de uso que aporte valor en un tiempo corto y que a su vez sea tractor del cambio cultural necesario que estos proyectos deben motivar en la organización. No hay que olvidar que este tipo de proyectos deberían ser algo más que artefactos tecnológicos, ya que conllevan un cambio organizativo y un cambio en los paradigma relacionado con el desarrollo IT. De la mano de estos proyectos de Big Data podría hacerse un plan a largo plazo para introducir el desarrollo ágil el devops etc.. si esto no se hace es probable que esta tipología de proyectos, a medio plazo, no puedan ser gestionados en las organizaciones de tamaño medio/grande. Por esa razón en el equipo de zylk hemos añadido ese tipo de perfiles, que facilitan la incorporación de estas nueva formas de hacer a las organizaciones. Por ejemplo es necesario que las organizaciones, a medio plazo, se planteen la necesidad de la figura del CDO.



Como ves actualmente, el posicionamiento y madurez de las soluciones basadas  en Software Libre para dar respuestas a los nuevos paradigmas en Big Data.


En el mundo de las soluciones de este tipo en la actualidad "o se es software libre o no se es". Es algo que en general ya está pasando con casi todo el software pero que en el mundo del Big Data reside en su propia génesis. O se es software libre o no se es. Son casos claros de este cambio todos los proyectos del ecosistema apache hadoop, o la empresa Hortonworks. Recientemente parte del equipo de zylk se desplazó a la apache europe Big Data (http://events.linuxfoundation.org/events/apache-big-data-europe) y en estas conferencias se podía ver claramente que todos "IBM, Microsoft incluso google" apuestan por los modelos de desarrollo abiertos y con licencias open. Allí también pudimos ver que los grandes consumidores, que a su vez son los grandes contributors, de estas tecnologías también usan las soluciones abiertas. Trivago, Linkedin, Soptify etc...

Todo esto se explica de manera bastante natural si entendemos que los desarrolladores que están contribuyendo al desarrollo de estas tecnologías, no las desarrollan con la finalidad última de desarrollar un software, como hacían las empresas de software privativo, sino que las desarrollan porque el core de sus negocios las necesita. Por esa razón son, y no pude ser de otra manera, desarrollos open en comunidad. Han visto la clara ventaja competitiva que supone el software abierto. Un ejemplo de este fenómeno, aunque no pertenece al mundo de apache, son los desarrollos open de Netflix. Casi todas las empresas que en la actualidad juegan un papel fundamental dentro "internet" liberan código y desarrollan en modelos abiertos. AirBnB, Netflix, Facebook, Twitter etc..  Para ser una empresa cool, antes tenías que tener futbolín (google rules), ahora hay que desarrollar proyectos open. Para mi todo se enmarca dentro de una suerte de, responsabilidad social corporativa, de las empresas que dan forma a internet; y no podría, ni debería, ser de otra manera.

En la Analítica de datos, hasta llegar a obtener las beneficios que para las organizaciones tiene el disponer de modelos predictivos de su negocio, por que fases consideras que hay que pasar?  "El reto de pasar del dato y de la información al modelado del negocio, para ser proactivos "

Bueno, creo que hay que pasar por varias fases, y estas cambian dependiendo de la fase de madurez en la que la organización se encuentre. En cualquier caso, desde zylk creemos que la única forma de afrontar proyectos es siguiendo metodologías ágiles. Hay que definir proyectos que resuelvan problemas de negocio y tiene que estar en producción desde el primer día. Un proyecto que no llega a producción, se marchita, y se queda obsoleto en muy poco tiempo. Esto en cuanto a la visión metodológica. También hay una visión técnica y una visión filosófica de todo esto. Hace poco me leí el libro La salvación de lo bello en el que, en una de sus partes, se reflexiona sobre el concepto de conocimiento, verdad e información (http://www.zylk.net/es/web-2-0/blog/-/blogs/la-salvacion-de-lo-bello). Y por último, desde el punto de vista técnico, creemos que hay que empezar por capturar los datos y disponer de un sistema de procesado en tiempo real y luego ir subiendo hacia las capas de Analítica avanzada y Machine Learning. En cualquier caso todo dependerá del proyecto y de la organización.



Entrando en la parte técnica, y comenzando por la ingesta d información de diferentes fuentes, que definición y característica seleccionarías de Apache Nifi?

Hay varias cosas que destacaría de Apache Nifi, la primera es que para una persona versada en BI clásico los conceptos que maneja son sencillos de aprehender. Por otro lado es una herramienta muy versátil que implementa la mayoría de los patrones necesarios a la hora de implementar un sistema de ingesta omnichannel. Backpresure, circuit break etc... Además dispone de un modelo para despliegue en dispositivos propios de lo que se conoce como IoT (https://nifi.apache.org/minifi/), esto es fundamental para poder desarrollar proyectos Big Data alineados con el "Internet de las cosas"


Habéis implementado Microservicios, que buenas practicas recomendarías:

Hemos usado microservicios siguiendo las buenas prácticas definidas Martin Fowler http://www.martinfowler.com/articles/microservices.html. Las características principales que en nuestro caso nos interesaban eran, la elasticidad, resiliencia, autodiscover y la integración dentro de una plataforma de gestión de recursos. En nuestro caso lo que hemos hecho ha sido usar AVRO IPC + YARN para poder desplegar y desarrollar los microservicios dentro de un cluster típico de hadoop. Lo hemos hecho así para no tener que desplegar un sistema de containers basados Docker con Kubernetes o Mesos o cualquiera de estas soluciones. Lo hemos hecho así porque los microservicios que desarrollamos son necesarios para el tratamiento de los datos y por tanto creíamos que lo mejor era definir una arquitectura de los mismos consistente con la tipología de cluster que desplegamos.


Que planteamiento técnico habéis utilizado para el dimensionamiento y monitorizacion de la carga de los procesos en tiempo real?

Principalmente no perder datos. La idea es que el sistema va a fallar en algún momento, las cosas no siempre funciona y lo principal es evitar el efecto bola de nieve. Por tanto siempre montamos sistemas desacoplados y las llamadas entre los sistemas desacoplados usa el patrón Circuit Breaker (http://martinfowler.com/bliki/CircuitBreaker.html)

Para la monitorización lo que hacemos es integrar los desarrollos realizados con el sistema de monitorización del gestor del cluster, en la mayoría de nuestras implantaciones Ambari (https://ambari.apache.org/)

---------------------------------------------------------------------------

Agradecer a Gustavo Fernandez, a Iñigo Sánchez Méndez  y  Angel Barrio por compartir su experiencia en Big Data.




7M9A0107