Ricerca nel sito web

Installa e configura Apache Oozie Workflow Scheduler per CDH 4.X su RHEL/CentOS 6/5


Oozie è uno scheduler open source per Hadoop, semplifica il flusso di lavoro e il coordinamento tra i lavori. Possiamo definire la dipendenza tra i lavori per un dato di input e quindi possiamo automatizzare la dipendenza dei lavori utilizzando lo scheduler ooze.

In questo tutorial, ho installato Oozie sul mio nodo master (ovvero master come nome host e dove sono installati namenode/JT) tuttavia nel sistema di produzione oozie deve essere installato su un nodo Hadoop separato.

Le istruzioni di installazione sono divise in due parti, da noi chiamate A e B.

  1. A. Installazione di Oozie.
  2. B. Configurazione Oozie.

Verifichiamo innanzitutto il nome host del sistema, utilizzando il seguente comando "hostname".

[root@master]# hostname

master

Metodo A: installazione di Oozie su RHEL/CentOS 6/5

Utilizziamo il repository CDH ufficiale dal sito di cloudera per installare CDH4. Vai alla sezione di download ufficiale di CDH e scarica la versione CDH4 (ovvero 4.6) oppure puoi anche utilizzare il seguente comando wget per scaricare il repository e installarlo.

Su 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
Su 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 volta aggiunto il repository CDH al tuo sistema, puoi utilizzare il seguente comando per installare Oozie sul sistema.

[root@master ~]# yum install oozie

Ora installa il client oozie (il comando sopra dovrebbe coprire la parte di installazione del client, altrimenti prova il comando sotto).

[root@master ~]# yum install oozie-client

Nota: l'installazione precedente configura anche il servizio oozie per l'esecuzione all'avvio del sistema. Buon lavoro! Abbiamo terminato la prima parte dell'installazione ora passiamo alla seconda parte per configurare oozie.

Metodo B: configurazione di Oozie su RHEL/CentOS 6/5

Poiché oozie non interagisce direttamente con Hadoop, non abbiamo bisogno di alcuna configurazione mappata qui.

Attenzione: configura tutte le impostazioni mentre oozie non è in esecuzione, ciò significa che devi seguire i passaggi seguenti mentre il servizio oozie non è in esecuzione.

Oozie ha "Derby" come DB integrato predefinito, tuttavia ti consiglio di utilizzare Mysql DB. Quindi, installiamo il database MySQL utilizzando il seguente articolo.

  1. Installa il database MySQL in RHEL/CentOS 6/5

Una volta terminata la parte di installazione, vai avanti per creare oozie DB e concedere i privilegi come mostrato di seguito.

[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

Successivamente, configura le proprietà di Oozie per MySQL. Apri il file "oozie-site.xml" e modifica le seguenti proprietà come mostrato.

[root@master ~]# cd /etc/oozie/conf
[root@master conf]# vi oozie-site.xml

Inserisci le seguenti proprietà (sostituisci semplicemente master [il mio nome host] con il tuo nome 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>

Scarica e aggiungi il driver di connettività MySQL JDBC JAR alla directory lib di Oozie. Per fare ciò, esegui il seguente comando serio sul terminale.

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

Crea lo schema del database oozie eseguendo i comandi seguenti e tieni presente che questo dovrebbe essere eseguito come utente oozie.

[root@master ~]# sudo -u oozie /usr/lib/oozie/bin/ooziedb.sh create -run
Uscita del campione
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

Devi scaricare ExtJS lib da Internet per abilitare la console web di oozie. Vai alla pagina ufficiale di CDH ExtJS e scarica le librerie ExtJS versione 2.2 oppure puoi scaricare il pacchetto utilizzando il seguente 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/

Infine, avvia il server oozie, eseguendo i seguenti comandi.

[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

Apri l'interfaccia utente di oozie utilizzando il tuo browser preferito e punta al tuo indirizzo IP. In questo caso, il mio IP è 192.168.1.129.

http://192.168.1.129:11000

Ora se vedi questa interfaccia utente. Congratulazioni!! Hai configurato con successo oozie.

Questa procedura è stata testata con successo su RHEL/CentOS 6/5. Nei miei prossimi articoli, condividerò come configurare e pianificare i lavori Hadoop tramite oozie. Rimani connesso per saperne di più e non dimenticare di commentare il tuo feedback.