Instal·leu i configureu Apache Oozie Workflow Scheduler per a CDH 4.X a RHEL/CentOS 6/5


Oozie és un programador de codi obert per a Hadoop, que simplifica el flux de treball i la coordinació entre les feines. Podem definir la dependència entre les feines per a les dades d'entrada i, per tant, podem automatitzar la dependència de les feines utilitzant el programador d'ooze.

En aquest tutorial, he instal·lat Oozie al meu node mestre (és a dir, master com a nom d'amfitrió i on estan instal·lats namenode/JT), però al sistema de producció, oozie s'hauria d'instal·lar a Hadoop separat. node.

Les instruccions d'instal·lació es divideixen en dues parts, l'anomenem A i B.

  1. A. Instal·lació Oozie.
  2. B. Configuració Oozie.

Primer verifiquem el nom d'amfitrió del sistema, utilitzant la següent comanda nom d'amfitrió.

 hostname

master

Mètode A: instal·lació d'Oozie a RHEL/CentOS 6/5

Utilitzem el dipòsit oficial de CDH del lloc de Cloudera per instal·lar CDH4. Aneu a la secció oficial de descàrrega de CDH i descarregueu la versió CDH4 (és a dir, 4.6) o també podeu utilitzar la següent comanda wget per descarregar el dipòsit i instal·lar-lo.

# 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

Un cop hàgiu afegit el dipòsit CDH al vostre sistema, podeu utilitzar la següent comanda per instal·lar Oozie al sistema.

 yum install oozie

Ara, instal·leu el client oozie (l'ordre anterior hauria de cobrir la part d'instal·lació del client, però, si no, proveu-ho a continuació).

 yum install oozie-client

Nota: La instal·lació anterior també configura el servei oozie perquè s'executi a l'inici del sistema. Bona feina! Hem acabat amb la primera part de la instal·lació, ara passem a la segona part per configurar oozie.

Mètode B: Configuració Oozie a RHEL/CentOS 6/5

Com que oozie no interactua directament amb Hadoop, aquí no necessitem cap configuració mapejada.

Precaució: configureu tots els paràmetres mentre oozie no s'executa, això vol dir que heu de seguir els passos següents mentre el servei oozie no s'està executant.

Oozie té 'Derby' per defecte integrat a la base de dades, però, us recomanaria que utilitzeu Mysql DB. Per tant, instal·lem la base de dades MySQL mitjançant l'article següent.

  1. Instal·leu la base de dades MySQL a RHEL/CentOS 6/5

Un cop hàgiu acabat amb la part d'instal·lació, aneu més endavant per crear oozie DB i concedir privilegis com es mostra a continuació.

 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ó, configureu les propietats d'Oozie per a MySQL. Obriu el fitxer oozie-site.xml i editeu les propietats següents tal com es mostra.

 cd /etc/oozie/conf
 vi oozie-site.xml

Introduïu les propietats següents (només substituïu master [el meu nom d'amfitrió] pel vostre nom d'amfitrió).

<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>

Baixeu i afegiu el JAR del controlador de connectivitat MySQL JDBC al directori Oozie lib. Per fer-ho, executeu la següent comanda seriosa al terminal.

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

Creeu l'esquema de la base de dades oozie executant les ordres següents i tingueu en compte que s'ha d'executar com a usuari oozie.

 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

Heu de descarregar ExtJS lib d'Internet per habilitar la consola web d'oozie. Aneu a la pàgina oficial de CDH ExtJS i descarregueu les biblioteques de la versió 2.2 d'ExtJS o podeu descarregar el paquet amb l'ordre següent.

 cd /tmp/
 wget http://archive.cloudera.com/gplextras/misc/ext-2.2.zip
 unzip ext-2.2.zip
 mv ext-2.2 /var/lib/oozie/

Finalment, inicieu el servidor oozie executant les ordres següents.

 service oozie status
not running.

 service oozie start

 service oozie status
running

 oozie admin -oozie http://localhost:11000/oozie -status
System mode: NORMAL

Obriu la interfície d'usuari d'oozie amb el vostre navegador preferit i assenyaleu la vostra adreça IP. En aquest cas, la meva IP és 192.168.1.129.

http://192.168.1.129:11000

Ara si veieu aquesta interfície d'usuari. Felicitats!! Heu configurat correctament oozie.

Aquest procediment s'ha provat amb èxit a RHEL/CentOS 6/5. En els meus propers articles, compartiré com configurar i programar feines d'hadoop mitjançant oozie. Manteniu-vos connectat per obtenir més informació i no oblideu comentar els vostres comentaris.