• No results found

Chapter 5 — Time-to-Digital Conversion

5.4 FPGA-based TDCs

Es la herramienta que ofrece Cloudera para administrar el clúster y la distribución Hadoop. A través de una interfaz web permite al usuario instalar el clúster desde cero -ya sea mediante los repositorios oficiales de Cloudera o unos propios-, añadir o quitar nodos y servicios, realizar la configuración de cualquier aspecto de la distribución Hadoop y monitorizar los distintos servicios que se ejecutan -a través de un sistema de logs o de gráficas de rendimiento de los recursos del sistema-. También se encarga de realizar comprobaciones periódicas del estado del clúster, ya sea de los nodos conectados o de los servicios activos.

6.1.3. CLOUDERA NAVIGATOR

Navigator es la herramienta ofrecida por Cloudera para realizar tareas de administración, monitorización y análisis sobre los datos y su evolución a lo largo del tiempo; dado que a medida que pasa la complejidad de los datos crece exponencialmente. [38] Entre sus características principales se encuentran:

 Realizar auditorías de datos y controlar el acceso a estos. Controla los permisos de acceso, lectura y escritura de los ficheros almacenados en HDFS, las entradas de HBase y los metadatos de Hive.

 Explorar el sistema de datos, buscando los datos disponibles y como están estructurados, para encontrar la forma idónea de trabajar con ellos.

 Trazar la evolución de los conjuntos de datos desde su origen para comprobar la validez de estos.

6.1.4. PRODUCTOS

Cloudera empaqueta su distribución CDH en una serie de productos que se adaptan a las necesidades de cada uno:

Cloudera Standard: es una distribución gratuita que incluye CDH con Cloudera Manager limitado a opciones básicas de instalación, administración y monitorización.

Cloudera Enterprise: incluye el resto de características de la distribución CDH, como una versión completa del Manager, Navigator y el soporte de sus expertos.

Subscripciones: estas subscripciones añaden soporte para las distintas tecnologías incluidas en CDH.

RTD (real-time delivery) para HBase. RTQ (real-time query) para Impala. RTS (real-time search) para Search.

BDR (back-up and disaster recovery) para realizar tareas de recuperación y seguridad de datos.

Navigator Subscription para el Navigator.

También ofrecen una versión de Cloudera Enterprise llamada Cloudera Quickstart que incluye también plazas para los cursos -de administración, desarrollador y analista- ofrecidos en Cloudera University.

6.2. DATASTAX

DataStax es una empresa fundada el 2010 especializada en ofrecer y distribuir soluciones de software basadas en la base de datos NoSQL Cassandra, de la cual son unos de los principales desarrolladores. De todas las soluciones Hadoop estudiadas, la ofertada por DataStax es la más diferente al introducir como principal motor de almacenamiento Cassandra, como se verá más adelante. El apoyo a Cassandra está motivado por algunos de los principales fallos de la primera versión de Hadoop como el punto de fallo único en el NameNode. También ofrecen servicios de soporte y de entrenamiento para los desarrolladores de sus plataformas así como de consultoría para las empresas que quieran introducirse en el mundo de Big Data.

6.2.1. DATASTAX ENTERPRISE

DataStax Enterprise es una solución Big Data centrada en la base de datos NoSQL Cassandra, la cual sirve como principal fuente de almacenamiento, a diferencia de las demás soluciones Hadoop que usaban principalmente HDFS. A pesar de no trabajar con el sistema de ficheros nativo de Hadoop la solución de Datastax es totalmente compatible con las demás herramientas del ecosistema Hadoop, aunque requieran del propio HDFS. Es decir que DataStax Enterprise es totalmente compatible con Hive, Pig, Oozie y otras utilidades.

6.2.1.1. CASSANDRA FILE SYSTEM (CFS)

Cassandra File System (CFS) es un sistema de ficheros desarrollado para ser compatible con HDFS (en su primera versión) y para incluso sustituirlo. Está pensado para reemplazar los servicios de NameNode, Secondary NameNode y DataNode por utilidades que se apoyan en Cassandra. Los principales objetivos de CFS son eliminar los problemas que se arrastran debido a la arquitectura de HDFS -principalmente los puntos de fallo único como el NameNode- y para que las utilidades como Hive o Mapreduce pudieran ser compatibles con DataStax Enterprise.

Gracias a la arquitectura P2P de Cassandra desaparecen los puntos de fallo únicos del sistema, ya que todos los nodos ejercen el mismo rol. A cambio, se añade un modelo de datos -almacenado en Cassandra- para los metadatos que contendrán la información que antes usaba el NameNode. [39]

El sistema de ficheros está modelado en un espacio de claves con dos familias de columnas:

sblocks: contiene los metadatos que sustituyen las funciones de los DataNodes. Es decir, es el conjunto de bloques de un fichero y su contenido.

inode: contiene los metadatos de un NameNode: nombre del fichero, usuario, grupo, permisos, tipo y la lista de id de los bloques del fichero. Para los id de los bloques usa un TimeUUID, ordenando los bloques de forma secuencial.

De esta manera se evita tener una arquitectura más compleja maestro-esclavo y se simplifica la configuración de la red.

Figura 33: espacio de claves correspondiente a DFS para un fichero file.txt (dividido en 3 bloques) en un clúster con factor de replicación 3.

Cuando se añade un fichero en CFS, se escribe en inode los metadatos estáticos del fichero (nombre, permisos, etc.) y, dependiendo de la configuración HDFS como el tamaño de bloque, se divide el fichero en bloques y se añaden en sblocks -una fila por replicación-. Los bloques son comprimidos mediante un sistema de compresión de Google y una vez son añadidos en sblocks, se escriben los identificadores en la fila correspondiente del inode. [40]

Uno de los problemas de CFS es que a diferencia de con HDFS, no se puede tener un factor de replicación distinto para cada fichero. Una de las soluciones posibles a este problema es tener más de un espacio de claves, cada uno con su propio factor de replicación. Esto significa tener varios sistemas de ficheros.

6.2.1.2. DATASTAX OPSCENTER

OpsCenter es la herramienta de DataStax para administrar y monitorizar la distribución y la infraestructura. A través de una interfaz web, los usuarios pueden realizar tareas de administración como la instalación y configuración de nuevos servicios, realizar trabajos a través de los nodos y crear dashboards para visualizar el rendimiento de los diferentes nodos del clúster y poder realizar análisis de funcionamiento y de carga de trabajo.

Ilustración 12: pantalla de OpsCenter. Muestra el esquema de la disposición del clúster.

6.2.1.3. DATASTAX DEVCENTER

DevCenter es una herramienta de desarrollo pensada para realizar programas y scripts en CQL para trabajar sobre Cassandra y DataStax Enterpreise en general. Entre sus características están las de navegar fácilmente entre los distintos esquemas de clústers, espacios de claves y bases de datos; realizar conexiones sencillas entre las bases de datos y la herramienta de desarrollo o funciones de editor de programación como resaltado de sintaxis, auto completado o validación de la sintaxis.

6.2.1.4. DATASTAX COMMUNITY EDITION

DataStax también cuenta con una versión gratuita de su distribución. Las principales diferencias entre ambas versiones es que la gratuita no ofrece compatibilidad por defecto con Hadoop (es de configuración manual), trae una versión limitada de OpsCenter y todas las actualizaciones y versiones que recibe son de la comunidad, nunca desde DataStax. Además tampoco se puede actualizar la versión de la comunidad a Enterprise. [41]

6.3. PIVOTAL

Pivotal es una compañía fundada el Abril de 2013 pero que cuenta con muchos años de experiencia detrás ya que fue fundada por EMC, desde su división de Big Data, Greenplum; y en colaboración con VMWare. Está centrada en soluciones Big Data -con Pivotal HD- y en soluciones cloud -con Pivotal CF, que en el momento de escribir la memoria aún no ha sido lanzado-. La mayoría del equipo de Pivotal - unos 200 al fundar la compañía- eran prácticamente todos parte de Greenplum, hoy en día desaparecida y sustituida por Pivotal dentro de EMC.

6.3.1. PIVOTAL HD ENTERPRISE

Pivotal HD Enterprise es la solución propuesta por Pivotal construida sobre Hadoop 2.0 y con un buen número de añadidos para complementar las ya existentes. Como se puede ver en la Ilustración 14 cuenta con HDFS como almacenamiento principal y con MRv2 más las principales herramientas de análisis de datos: Pig, Hive, Mahout… [42]

Los principales añadidos de Pivotal HD Enterprise son la herramienta de administración y monitorización Command Center, el paquete HAWQ, que incluye una herramienta de consulta de datos MPP y una librería de funciones para el análisis de datos; y el paquete GemFire. Adicionalmente se incluyen otras herramientas como el Data Loader, para cargar datos a HDFS; o Spring, para realizar workflows.

Ilustración 14: Arquitectura de la solución Pivotal HD Enterprise.

Data Loader: es otra herramienta para la recolección de datos, que permite paralelizar la escritura de los datos capturados a HDFS.

Unified Storage Service: permite visualizar como si fuera un solo espacio de nombres diversos sistemas de ficheros, permitiendo realizar las operaciones típicas -crear, copiar, mover o eliminar- sin la necesidad de crear copias intermedias.

Hadoop Virtualization Extension: permiten a Hadoop ser consciente de la topología de virtualización y le permite escalar los nodos virtuales dinámicamente.

Spring: es una herramienta que proporciona APIs simplificadas para usar HDFS, MapReduce, Hive y otras utilidades Hadoop. También permite la creación de workflows mediante el uso de estas APIs.

Command Center: es una interfaz web que permite instalar, configurar, monitorizar y administrar todos los componentes Hadoop.

6.3.2. HAWQ - ADVANCED DATABASE SERVICES

Advanced Database Services (ADS) es un paquete que engloba diversas herramientas y utilidades, destacando por encima de todas HAWQ. Con HAWQ se añade una herramienta MPP para la consulta de datos en HDFS formando una arquitectura mixta entre MapReduce y MPP. Al igual que Impala de Cloudera no usa MapReduce para realizar las consultas y en cambio usa un lenguaje SQL real, con lo que facilita la conexión de las bases de datos en Hadoop con las herramientas de visualización y transformación de datos ya existentes.

HAWQ está preparado para funcionar con clústeres de cientos de nodos y con bases de datos del orden de varios petabytes. Ofrece un motor de consultas de datos que engloba la división de consultas complejas en varios pasos y la paralelización de estas a través de los nodos. Además gracias a Pivotal Xtension Framework HAWQ es capaz de acceder a los datos almacenados en diversas herramientas Hadoop como HDFS, HBase o Hive; con un rendimiento parecido al de una consulta en HAWQ.

La otra característica clave que ofrece el paquete es una librería de algoritmos para el análisis y proceso de datos llamada MADlib, e incluye funciones de estadística, matemáticas y de aprendizaje. Estas funciones están implementadas sobre HAWQ y se pueden ejecutar como si fueran un comando SQL más. MADlib es una librería de código libre y está pensada para realizar operaciones en bases de datos distribuidas y escalables. [43]