Búsqueda de sitios web

Instale y configure 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 utilizando el programador de ooze.

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

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

  1. A. Instalación de Oozie.
  2. B. Configuración de Oozie.

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

[root@master]# hostname

master

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

Usamos el repositorio CDH oficial 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.

En RHEL/CentOS 6
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
En RHEL/CentOS 5
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.

[root@master ~]# yum install oozie

Ahora, instale el cliente oozie (el comando anterior debe cubrir la parte de instalación del cliente; si no, intente con el siguiente comando).

[root@master ~]# 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 asignada 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 oozie no se esté ejecutando.

Oozie tiene 'Derby' por defecto integrado en la base de datos; sin embargo, te recomendaría que uses Mysql DB. Entonces, instalemos la base de datos MySQL usando el siguiente artículo.

  1. Instalar la base de datos MySQL en RHEL/CentOS 6/5

Una vez que haya terminado con la parte de instalación, continúe para crear oozie DB y otorgar privilegios como se muestra a continuación.

[root@master ~]# 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.

[root@master ~]# cd /etc/oozie/conf
[root@master 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 JAR del controlador de conectividad MySQL JDBC al directorio lib de Oozie. Para hacerlo, ejecute el siguiente comando serio en la terminal.

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

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

[root@master ~]# sudo -u oozie /usr/lib/oozie/bin/ooziedb.sh create -run
Salida de muestra
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 oozie. Vaya a la página oficial de CDH ExtJS y descargue las bibliotecas ExtJS versión 2.2 o puede descargar el paquete usando el siguiente comando.

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

Finalmente, inicie el servidor oozie ejecutando los siguientes comandos.

[root@master tmp]# service oozie status
not running.

[root@master tmp]# service oozie start

[root@master tmp]# service oozie status
running

[root@master 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, compartiré cómo configurar y programar trabajos de hadoop a través de oozie. Manténgase conectado para obtener más información y no olvide comentar sus comentarios.