viernes, 2 de septiembre de 2016

Que es Apache OOZIE hadoop?

Apache Oozie es un sistema de flujo de trabajo de programación basada en servidor para gestionar los trabajos de Hadoop (server-based workflow scheduling system).
logo de oozie
Los flujos de trabajo en Oozie se definen como una colección de flujo de control (control flow) y los nodos de acción en un gráfico acíclico dirigido. los nodos de control de flujo definen el comienzo y el final de un flujo de trabajo (inicio, final y los nodos de fallo), así como un mecanismo para controlar la ruta de ejecución de flujo de trabajo (decisión, fork y unir nodos). Los nodos de acción son el mecanismo por el cual un flujo de trabajo provoca la ejecución de una tarea de cálculo / procesamiento. Oozie proporciona soporte para para diferentes tipos de acciones entre ellas, incluidas Hadoop MapReduce Hadoop las operaciones del sistema de archivos distribuido, Pig, SSH, y correo electrónico. Oozie también se puede extender para soportar otros tipos de acciones.
Los flujos de trabajo oozie se pueden parametrizar utilizando variables como $ {InputDir} dentro de la definición de flujo de trabajo. Al enviar una tarea de flujo de trabajo, se deben proporcionar valores para los parámetros. Parametrizando correctamente (utilizando diferentes directorios de salida), varios trabajos de flujo de trabajo idénticos, estos pueden ejecutarse simultáneamente.
Oozie se implementa como una aplicación web Java que se ejecuta en un contenedor de servlets Java y se distribuye bajo la licencia Apache 2.0.


¿Qué es oozie?

Apache Oozie es una aplicación Web Java utilizada para programar trabajos Apache Hadoop.

Oozie combina varios trabajos de forma secuencial en una unidad lógica de trabajo. Se integra con la pila de Hadoop (Hadoop stack), con YARN como su centro de arquitectura, y es compatible con los trabajos de Hadoop MapReduce para Apache, Apache Pig, Apache Hive, y Apache Sqoop.

Oozie también puede programar tareas propias de un sistema, al igual que los programas Java o scripts de shell.


Apache Oozie es una herramienta para operaciones de Hadoop que permite a los administradores de clústeres construir las transformaciones de datos complejas a partir de las múltiples tareas que lo componen.
oozie en hadoop


Esto proporciona un mayor control sobre los trabajos (jobs)  y también hace que sea más fácil para repetir esos trabajos  a intervalos predeterminados. En su esencia, Oozie ayuda a los administradores obtener más valor de Hadoop.


Hay dos tipos básicos de trabajos oozie (Oozie jobs):

• Oozie Workflow los trabajos son gráficos acíclicos dirigidos (DAG), que especifica una secuencia de acciones a ejecutar. El flujo de trabajo de la tarea (Workflow job) tiene que esperar

• Oozie Coordinator los jobs son recurrentes en Oozie Workflow jobs y  son accionados por el tiempo y la disponibilidad de datos .
Oozie Bundle proporciona una manera de coordinar multiples paquetes, workflow jobs y gestionar el ciclo de vida de estos jobs.


Te invitamos a ser parte de la comunidad de sitiobigdata,com: http://sitiobigdata.com/index.php/2016/08/16/apache-hive-almacenamiento-hadoop/


jueves, 1 de septiembre de 2016

HDFS Hadoop - Distributed File System (sistemas de archivos)

File system (sistemas de archivos)

Hadoop DFS - Distributed File System 

El Hadoop Distributed File System (HDFS) es lo que se denomina un file system o sistema de archivos distribuido, que es tanto escalable como portátil escrito en lenguaje Java para el framework Hadoop.

Cada node (nodo) en una instancia Hadoop típicamente tiene un único data node (nodo de datos); un clúster data conforma el clúster HDFS. La situación es normal porque cada node no requiere un data node para estar presente.

Cada node otorga data blocks o bloques de datos sobre la red usando un determinado protocolo de bloqueo específico para HDFS. El file system (sistema de archivos) utiliza la capa TCP/IP para comunicarse; los clientes usan RPC para dialogar y así comunicarse entre ellos mismos.

Arquitectura HDFS - visite: sitiobigdata.com
El HDFS almacena archivos grandes (el tamaño ideal del archivo es de 64 Mb), a través de multiples máquinas. Consigue tener fiabilidad mediante el replicado de datos a través de diferentes hosts, y no requiere un almacenamiento Raid en ellos.

Con el valor de replicación (3) tres por defecto, los datos se alojan en 3 nodos: dos en el mismo rack, y el restante en un rack distinto. Los nodes de datos pueden dialogar entre ellos para nivelar datos, mover copias, y mantener alta lo que es la réplica de datos.

HDFS no cumple de forma  total con POSIX porque lo que requiere un file system POSIX difiere de los objetivos de una app Hadoop, porque el objetivo no es tanto satisfacer los estándares POSIX sino obtener la mayor eficacia y rendimiento de los datos. HDFS fue diseñado para administrar archivos muy grandes. HDFS no nos proporciona Alta disponibilidad.

Otros sistemas de archivos

A junio de 2010, el listado de file systems soportados incluye:

  • HDFS: El sistema nativo de Hadoop. Está esquematizado para la escala de decenas de  petabytes de almacenaje y funciona sobre los sistemas de archivos de base. 
  • Amazon S3. El mismo apunta a clusters almacenados en la infraestructura del server bajo demanda Amazon Elastic Compute Cloud. No hay neutralidad de racks en este file system, porque todo él es remoto. 
  • Cloudstore (antes denominado Kosmos Distributed File System), que conoce de los racks. 
  • FTP: éste almacena todos sus datos en un server FTP accessible de forma remota.
  • HTTP y HTTPS de solo lectura. 


Hadoop puede trabajar con cualquier file system distribuido, el mismo puede ser subido por el SO (sistema operativo)  solamente usando la Url file://, pero en la realidad es que esto tiene un precio: la perdida de localidad. Para disminuir el trafico de red, Hadoop precisa saber qué servers están más cercanos o proximos a los datos; esta información sólo la pueden brindar los puentes específicos del file system específico de Hadoop.

Detalle de Bloque de replicación y datanodes
visite: sitiobigdata.com
La configuración por defecto incluye Amazon S3, y el almacenamiento de archivos Cloudstore, por medio de las siguientes URLs s3:// y kfs://.

Diversos puentes de file systems de terceros han sido escritos, actualmente ninguno de ellos están en las organizaciones de Hadoop. Éstas pueden considerarse que son más de próposito general que HDFS, el cual está en gran medida sesgado hacia archivos de gran tamaño y solo ofrece un subconjunto de la semántica esperada de POSIX Filesystem que  no es posible bloquear o escribir en cualquier lugar, pero si es posible en la cola del archivo.

Te invitamos a ser parte de la comunidad de sitiobigdata.com: http://sitiobigdata.com/index.php/2016/08/30/apache-pig-conceptos-basicos-hadoop/