Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-04-14 GMT+08:00

Principios básicos de Oozie

Introducción a Oozie

Oozie es un motor de flujo de trabajo de código abierto que se utiliza para programar y coordinar trabajos de Hadoop.

Arquitectura

El motor de Oozie es una aplicación web integrada en Tomcat por defecto. Oozie usa bases de datos de PostgreSQL.

Oozie proporciona una consola web basada en Ext, a través de la cual los usuarios pueden ver y supervisar los flujos de trabajo de Oozie. Oozie proporciona una API de servicio web REST externa para que el cliente Oozie controle los flujos de trabajo (como iniciar y detener operaciones), y organizar y ejecutar tareas de MapReduce de Hadoop. Para obtener más información, consulte Figura 1.

Figura 1 Arquitectura de Oozie

Tabla 1 describe las funciones de cada módulo mostrado en Figura 1.

Tabla 1 Descripción de la arquitectura

Nombre de la conexión

Descripción

Console

Permite a los usuarios ver y supervisar los flujos de trabajo de Oozie.

Client

Controla los flujos de trabajo, incluidos los flujos de trabajo de envío, inicio, ejecución, plantación y restauración, a través de API.

SDK

Es la abreviatura de kit de desarrollo de software. Un SDK es un conjunto de herramientas de desarrollo utilizadas por los ingenieros de software para establecer aplicaciones para paquetes de software particulares, marcos de software, plataformas de hardware y sistemas operativos.

Database

Base de datos de PostgreSQL

WebApp (Oozie)

Funciona como el servidor de Oozie. Se puede implementar en un contenedor Tomcat integrado o externo. La información registrada por WebApp (Oozie), incluidos logs se almacena en la base de datos de PostgreSQL.

Tomcat

Un servidor de aplicaciones de web de código abierto gratuito

Hadoop components

Componentes subyacentes, como MapReduce y Hive, que ejecutan los flujos de trabajo orquestados por Oozie.

Principio

Oozie es un servidor de motor de flujo de trabajo que ejecuta flujos de trabajo de MapReduce. También es una aplicación web Java que se ejecuta en un contenedor Tomcat.

Los flujos de trabajo de Oozie se construyen usando Hadoop Process Definition Language (HPDL). HPDL es un lenguaje definido por XML, similar a JBoss jBPM Process Definition Language (jPDL). Un flujo de trabajo de Oozie consiste en el nodo de control y el nodo de acción.

  • Control Node controla la orquestación del flujo de trabajo, como start, end, error, decision, fork y join.
  • Un flujo de trabajo de Oozie contiene varios nodos de acción, como MapReduce y Java.

    Todos los nodos de acción se implementan y se ejecutan en modo Direct Acyclic Graph (DAG). Por lo tanto, los nodos de acción se ejecutan en dirección. Es decir, el siguiente nodo de acción sólo puede ejecutarse cuando finaliza la ejecución del anterior nodo de acción. Cuando finaliza un nodo de acción, el servidor remoto vuelve a invocar a la interfaz de Oozie. A continuación, Oozie ejecuta el siguiente nodo de acción del flujo de trabajo de la misma manera hasta que se ejecuten todos los nodos de acción (se cuentan los errores de ejecución).

Los flujos de trabajo de Oozie proporcionan varios tipos de nodos de acción, como MapReduce sistemas de archivos distribuidos de Hadoop (HDFS), Secure Shell (SSH), Java y subflujos de Oozie, para soportar una amplia gama de requisitos empresariales.