Big Data

 

1. Introdución Entorno Hadoop HDP 2.4

A nova infraestructura Big Data permite o procesado de grandes volumes de información en paralelo, utilizando a potencia de modernas ferramentas que simplifican o proceso e que son utilizadas por grandes compañías como Yahoo, Facebook ou Twitter.

A plataforma conta con dous entornos diferenciados para así poder satisfacer as necesidades de todos os usuarios:

Entorno Hadoop HDP 2.4

  • Ofrece unha plataforma standard que soporta todos os compoñentes do ecosistema de Hadoop:YARN, MapReduce, Spark, Storm, Flume, Mahout, Pig, Hive, HBase, ...
  • Trátase dunha evolución da plataforma Hadoop que o CESGA leva ofrecendo desde o 2013.
  • Ofrece unha solución probada e estable.
  • Cubre a maior parte dos casos de uso.    

 Software dispoñible no entorno Hadoop HDP 2.4

- HDFS (Hadoop Distributed File System):

  • É un sistema de ficheiros distribuído baseado en Xava para o almacenamento de grandes volumes de datos; conforma, xunto co YARN  a súa capa de administración de datos en Hadoop.
  • Calquer tipo de ficheiros pode ser almacenado en HDFS.
  • Os datos pártense en fragmentos e réplicanse tan pronto como son escritos en HDFS.
  • Provee de estabilidade e alta disponibilidade.
  • Os xestiona automáticamente Hadoop.

- YARN (Yet Another Resource Negociator):

  • Xestiona os recursos asociados aos procesos do cluster Hadoop.
  • Axenda os traballos.
  • Executa os frameworks de procesamento.

- MapReduce2

  • Framework de procesamento distribuído.

 - Hive

  • Motor de procesamento SQL diseñado para cargas de traballo en batch.
  • Proporciona unha capa de abstracción sobre MapReduce para a consulta de datos a través dunha linguaxe tipo SQL denominado HiveQL.
  • Permite aos usuarios non ter que dispoñer de coñecemento ou de desenvolvemento de aplicacións en MapReduce o Spark.

 - Hbase

  • Base de datos NoSQL para HDFS.
  • Proporciona acceso de escritura/lectura en tempo real a grandes volumes de datos.

 - Pig

  • Plataforma para a análise de grandes conxuntos de datos baseado nunha linguaxe de scripting de alto nivel.
  • Permite aos usuarios non ter que dispoñer de coñecemento ou de desenvolvemento de aplicacións en MapReduce o Spark.

- Oozie

  • Aplicación web baseada en Xava usada como scheduler de traballos Hadoop.
  • Integrado en Hadoop, usando YARN como o súa arquitectura principal.

- ZooKeeper

  • Provee un servizo de configuración centralizada e rexistro de nomes de código aberto para grandes sistemas distribuídos.
  • Soporta alta disponibilidade a través de servizos redundantes. Os clientes poden preguntar a outro maestro ZooKeeper se o primeiro falla ao responder.

 - Spark

  • Framework de procesamento en memoria e streaming de grandes cantidades de datos.

Entorno Platform as a Service (PaaS)

  • Para casos donde se necesita ir miás alá do que ofrece o ecosistema de Hadoop.
  • Ofrece unha plataforma donde despregar clusters Big Data baseados en contenedores Docker sobre un scheduler global baseado en Mesos.
  • Virtualmente esta plataforma permite despregar calquer tipo de servizo.
  • Permite aproveitarse completamente dos recursos hardware sen penalizacións de rendimento.
  • Ofrece unha planificación avanzada de recursos baseada nun sistema novedoso de scheduling en dous pasos que permite ofrecer unha mellor localidade dos datos con respecto aos planificadores tradicionais. 
  • Inclue un avanzado servizo de descubrimento de servizos que pode ser explotado para despregar servizos tolerantes a fallos e para autodescubrimento de servizos.

Software dispoñible no entorno PaaS

Este entorno está en probas e aínda non está aberto de forma pública. Os usuarios interesados en aceder á versión beta poden solicitalo a través de bigdata[AT]cesga.es

Esta é unha lista inicial dos productos dispñibles:

  • MongoDB: base de datos NoSQL. Garda estructuras de datos en documentos tipo JSON cun esquema dinámico.
  • Cassandra: base de datos NoSQL distribuída e baseada nun modelo de almacenamento de clave-valor.
  • GlusterFS: sistema de arquivos multiescalable. Permite agregar varios servidores de arquivos sobre Ethernet ou interconexións Infiniband RDMA nun gran entorno de arquivos de red en paralelo.
  • Slurm: scheduler para Linux e sistemas Unix moi usado en clusters e superordenadores.
  • MPI: estándar que define a sintaxe e a semántica das funcións contidas nunha biblioteca de paso de mensaxes deseñada para ser usada en programas en paralelo.
  • CDH: distribución de Cloudera que inclue Apache Hadoop.
  • PostgreSQL: sistema de xestión de base de datos relacional orientado a obxetos.
  • Redis: motor de base de datos en memoria, baseado no almacenamento de clave-valor pero que opcionalmente pode ser usada como unha base de datos durable ou persistente.

2. Descrición do hardware

A nova plataforma Big Data componse dun cluster adicado de 38 nodos (4 nodos maestro e 34 nodos esclavo). Ten unha capacidade bruta de 816 TB e unha capacidade de E/S agregada de máis de 30 GB/s e dispón dunha conexión 10 GbE entre todos os nodos do cluster.

  • 34 Nodos esclavo: Lenovo System x3650 M5

CPU: 2x Intel Xeon E5-2620 v3 @ 2.40GHz
Cores: 12 (2x6)
HyperThreading: Activo (24 threads)
Memoria total: 64GB
Rede: 1x10Gbps + 2x1Gbps
Discos: 12x 2TB NL SATA 6Gbps 3.5" G2HS
Controladora: N2215 SAS/SATA HBA

  • 4 Nodos maestro: Lenovo System x3550 M5

CPU: 2x Intel Xeon E5-2620 v3 @ 2.40GHz
Cores: 12 (2x6)
HyperThreading: Activo (24 threads)
Memoria total: 64GB
Rede: 1x10Gbps + 2x1Gbps
Discos: 8x 480GB SSD SATA 2.5" MLC G3HS
Controladora: ServeRAID M5210 1GB Cache FastPath

  • Switches:

2x Lenovo RackSwitch G8124E
2x Lenovo RackSwitch G8052
1x Lenovo RackSwitch G7052

3. Guia uso entorno Hadoop HDP 2.4

Acceso

Para acceder ao servizo Big Data HDP nos conectaremos aos nodos de login utilizando o mesmo usuario e contraseña que para os outros equipos do CESGA:

ssh login.hdp.cesga.es

É necesario ter activa a VPN.

Sistema de ficheiros HOME

O sistema dispón dun HOME con capacidade para 41TB, montado nun sistema de ficheiros paralelo GlusterFS. O HOME debe utilizarse só para cargar os ficheiros de datos temporalmente mentras non se cargan en HDFS e para recoller as saidas.

Non se realiza backup deste sistema de ficheiros.

Sistema de ficheiros HDFS

HDFS é o sistema de ficheiros paralelo nativo de Hadoop que está optimizado para grandes lecturas secuenciais de ficheiros e é o que utilizan todas as ferramentas do ecosistema de Hadoop.

Este é o sistema de ficheiros que debe usarse nos traballos que se envíen ao cluster, en donde o usuario dispón dunha carpeta persoal na ruta /user/$usuario.

Non se realiza backup deste sistema de ficheiros.

Esta é unha mostra dos comandos básicos para usar HDFS:

 
Listar:  hdfs dfs -ls
Copiar ao HDFS:  hdfs dfs -put fichero_original fichero_final
Copiar ao disco local:  hdfs dfs -get fichero_original fichero_final
Crear directorio:  hdfs dfs -mkdir nuevo_directorio
Ler un ficheiro:  hdfs dfs -cat fichero

**Se non se indica o contrario, a ruta HDFS á que apuntarán estos comandos é a da carpeta persoal do usuario, antes mencionada.

Xestionar traballos

O scheduler de HDP é o servizo YARN. Os comandos básicos para xestionar traballos son:

Lanzar traballo: yarn jar trabajo.jar input output
Comprobar estado: yarn application -list
Matar traballo: yarn application -kill application_ID

 

Servizos interactivos para traballos Spark (beta)

Están dispoñibles dous servizos (aún en fase beta) desde donde poder lanzar aplicacións Spark de xeito interactiva: Hue e Zeppelin. Pódese aceder a ambos cós mesmos credenciais de acceso que para os equipos do CESGA a través das seguintes direccións (é necesario estar conectado a través do túnel VPN):

HUE: hue.hdp.cesga.es:8888
ZEPPELIN: zeppelin.hdp.cesga.es:9995

 

Para obter máis detalles sobre como usar o servizo consultar o Portal Portal BD|CESGA donde encontrará información adicional así coma guías de uso das distintas ferramentas.