Instalar y configurar el programador de flujo de trabajo Apache Oozie para CDH 4.X en RHEL / CentOS 6/5


Oozie es un programador de código abierto para Hadoop, simplifica el flujo de trabajo y la coordinación entre trabajos. Podemos definir la dependencia entre trabajos para datos de entrada y, por lo tanto, podemos automatizar la dependencia del trabajo mediante el programador de ooze.

En este tutorial, instalé Oozie en mi nodo maestro (es decir, maestro como nombre de host y donde están instalados namenode/JT ), sin embargo, en el sistema de producción, oozie debe instalarse en Hadoop separado. nodo.

Las instrucciones de instalación se dividen en dos partes, las llamamos A y B.

  1. A. Oozie Installation.
  2. B. Oozie Configuration.

Primero verifiquemos el nombre de host del sistema, usando el siguiente comando "hostname".

[[email protected]]# hostname

master

Método A: Instalación de Oozie en RHEL / CentOS 6/5

Usamos el repositorio oficial de CDH del sitio de cloudera para instalar CDH4. Vaya a la sección de descarga oficial de CDH y descargue la versión CDH4 (es decir, 4.6) o también puede usar el siguiente comando wget para descargar el repositorio e instalarlo.

# wget http://archive.cloudera.com/cdh4/one-click-install/redhat/6/i386/cloudera-cdh-4-0.i386.rpm
# yum --nogpgcheck localinstall cloudera-cdh-4-0.i386.rpm

# wget http://archive.cloudera.com/cdh4/one-click-install/redhat/6/x86_64/cloudera-cdh-4-0.x86_64.rpm
# yum --nogpgcheck localinstall cloudera-cdh-4-0.x86_64.rpm
# wget http://archive.cloudera.com/cdh4/one-click-install/redhat/5/i386/cloudera-cdh-4-0.i386.rpm
# yum --nogpgcheck localinstall cloudera-cdh-4-0.i386.rpm

# wget http://archive.cloudera.com/cdh4/one-click-install/redhat/5/x86_64/cloudera-cdh-4-0.x86_64.rpm
# yum --nogpgcheck localinstall cloudera-cdh-4-0.x86_64.rpm

Una vez que haya agregado el repositorio CDH en su sistema, puede usar el siguiente comando para instalar Oozie en el sistema.

[[email protected] ~]# yum install oozie

Ahora, instale el cliente oozie (el comando anterior debería cubrir la parte de instalación del cliente, pero si no, intente el siguiente comando).

[[email protected] ~]# yum install oozie-client

Nota: La instalación anterior también configura el servicio oozie para que se ejecute al iniciar el sistema. ¡Buen trabajo! Hemos terminado con la primera parte de la instalación, ahora pasemos a la segunda parte para configurar oozie.

Método B: Configuración de Oozie en RHEL / CentOS 6/5

Como oozie no interactúa directamente con Hadoop, no necesitamos ninguna configuración mapeada aquí.

Precaución: configure todos los ajustes mientras oozie no se esté ejecutando, eso significa que debe seguir los pasos a continuación mientras el servicio de oozie no se está ejecutando.

Oozie tiene "Derby" como predeterminado integrado en la base de datos, sin embargo, le recomendaría que utilice Mysql DB. Entonces, instalemos la base de datos MySQL usando el siguiente artículo.

  1. Install MySQL Database in RHEL/CentOS 6/5

Una vez que haya terminado con la parte de instalación, siga adelante para crear oozie DB y otorgue privilegios como se muestra a continuación.

[[email protected] ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.38 MySQL Community Server (GPL) by Remi

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database oozie;
Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on oozie.* to 'oozie'@'localhost' identified by 'oozie';
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on oozie.* to 'oozie'@'%' identified by 'oozie';
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

A continuación, configure las propiedades de Oozie para MySQL. Abra el archivo "oozie-site.xml" y edite las siguientes propiedades como se muestra.

[[email protected] ~]# cd /etc/oozie/conf
[[email protected] conf]# vi oozie-site.xml

Ingrese las siguientes propiedades (simplemente reemplace master [mi nombre de host] con su nombre de host).

<property>
        <name>oozie.service.JPAService.jdbc.driver</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>oozie.service.JPAService.jdbc.url</name>
        <value>jdbc:mysql://master:3306/oozie</value>
    </property>
    <property>
        <name>oozie.service.JPAService.jdbc.username</name>
        <value>oozie</value>
    </property>
    <property>
        <name>oozie.service.JPAService.jdbc.password</name>
        <value>oozie</value>
    </property>

Descargue y agregue el controlador de conectividad JDBC de MySQL JAR al directorio lib de Oozie. Para hacerlo, ejecute el siguiente comando en serio en la terminal.

[[email protected] oozie]# cd /tmp/
[[email protected] tmp]# wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.31.tar.gz
[[email protected] tmp]# tar -zxf mysql-connector-java-5.1.31.tar.gz	
[[email protected] tmp]# cd mysql-connector-java-5.1.31
[[email protected] mysql-connector-java-5.1.31]# cp mysql-connector-java-5.1.31-bin.jar /var/lib/oozie/

Cree el esquema de la base de datos de oozie ejecutando los siguientes comandos y tenga en cuenta que debe ejecutarse como usuario de oozie.

[[email protected] ~]# sudo -u oozie /usr/lib/oozie/bin/ooziedb.sh create -run
setting OOZIE_CONFIG=/etc/oozie/conf
setting OOZIE_DATA=/var/lib/oozie
setting OOZIE_LOG=/var/log/oozie
setting OOZIE_CATALINA_HOME=/usr/lib/bigtop-tomcat
setting CATALINA_TMPDIR=/var/lib/oozie
setting CATALINA_PID=/var/run/oozie/oozie.pid
setting CATALINA_BASE=/usr/lib/oozie/oozie-server-0.20
setting CATALINA_OPTS=-Xmx1024m
setting OOZIE_HTTPS_PORT=11443
...
DONE
Oozie DB has been created for Oozie version '3.3.2-cdh4.7.0'
The SQL commands have been written to: /tmp/ooziedb-8250405588513665350.sql

Debe descargar ExtJS lib de Internet para habilitar la consola web de oozie. Vaya a la página oficial de CDH ExtJS y descargue las bibliotecas ExtJS versión 2.2 o puede descargar el paquete con el siguiente comando.

[[email protected] ~]# cd /tmp/
[[email protected] tmp]# wget http://archive.cloudera.com/gplextras/misc/ext-2.2.zip
[[email protected] tmp]# unzip ext-2.2.zip
[[email protected] tmp]# mv ext-2.2 /var/lib/oozie/

Finalmente, inicie el servidor oozie, ejecutando los siguientes comandos.

[[email protected] tmp]# service oozie status
not running.

[[email protected] tmp]# service oozie start

[[email protected] tmp]# service oozie status
running

[[email protected] tmp]# oozie admin -oozie http://localhost:11000/oozie -status
System mode: NORMAL

Abra la interfaz de usuario de oozie con su navegador favorito y señale su dirección IP. En este caso, mi IP es 192.168.1.129.

http://192.168.1.129:11000

Ahora, si ves esta interfaz de usuario. ¡¡Felicidades!! Ha configurado correctamente oozie.

Este procedimiento se ha probado con éxito en RHEL/CentOS 6/5. En mis próximos artículos, voy a compartir cómo configurar y programar trabajos de hadoop a través de oozie. Mantente conectado para obtener más información y no olvides comentar tus comentarios.